com.bigdata.service.jini
Class TransactionServer

java.lang.Object
  extended by com.bigdata.service.jini.AbstractServer
      extended by com.bigdata.service.jini.TransactionServer
All Implemented Interfaces:
Runnable, EventListener, net.jini.lease.LeaseListener, net.jini.lookup.ServiceIDListener

public class TransactionServer
extends AbstractServer

Server exposing a discoverable ITransactionService.

Version:
$Id$
Author:
Bryan Thompson
TODO:
verify that time is strictly ascending on restart or failover., rename various configuration files as well.

Nested Class Summary
static class TransactionServer.AdministrableTransactionService
          Adds jini administration interfaces to the basic DataService.
static interface TransactionServer.Options
          Options for this server.
static class TransactionServer.TransactionServiceFederationDelegate
          Extended to attach the various performance counters reported by the DistributedTransactionService.
 
Nested classes/interfaces inherited from class com.bigdata.service.jini.AbstractServer
AbstractServer.ConfigurationOptions, AbstractServer.MasterElectionTask
 
Field Summary
 
Fields inherited from class com.bigdata.service.jini.AbstractServer
config, impl, logicalServiceZPath, physicalServiceZPath, proxy
 
Constructor Summary
TransactionServer(String[] args, com.sun.jini.start.LifeCycle lifeCycle)
           
 
Method Summary
static void main(String[] args)
          Starts a new TransactionServer.
protected  AbstractTransactionService newService(Properties properties)
          This method is responsible for creating the remote service implementation object.
 
Methods inherited from class com.bigdata.service.jini.AbstractServer
destroy, fatal, getClient, getFileFilter, getHostName, getJoinManager, getProxy, getServiceID, getServiceName, isPersistent, isShuttingDown, notify, notifyServiceUUID, readServiceId, run, runDestroy, serviceIDNotify, setSecurityManager, shutdownNow, terminate, toString, unexport
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TransactionServer

public TransactionServer(String[] args,
                         com.sun.jini.start.LifeCycle lifeCycle)
Parameters:
args - Either the command line arguments or the arguments from the ServiceDescriptor. Either way they identify the jini Configuration (you may specify either a file or URL) and optional overrides for that Configuration.
lifeCycle - The life cycle object. This is used if the server is started by the jini ServiceStarter. Otherwise specify a FakeLifeCycle.
Method Detail

main

public static void main(String[] args)
Starts a new TransactionServer. This can be done programmatically by executing
    new TimestampServer(args, new FakeLifeCycle()).run();
 
within a Thread.

Parameters:
args - The name of the Configuration file for the service.

newService

protected AbstractTransactionService newService(Properties properties)
Description copied from class: AbstractServer
This method is responsible for creating the remote service implementation object. This object MUST declare one or more interfaces that extent the Remote interface. The server will use JERI to create a proxy for the remote object and configure and manage the protocol for communications between the client (service proxy) and the remote object (the service implementation).

Note: You have to implement JoinAdmin in order to show up as an administerable service (blue folder) in the jini Service Browser.

Specified by:
newService in class AbstractServer
Parameters:
properties - The contents of the Properties file whose name was given by the propertyFile value in the Configuration identified to main by its command line arguments.


Copyright © 2006-2011 SYSTAP, LLC. All Rights Reserved.