com.bigdata.service.jini
Class TransactionServer.AdministrableTransactionService

java.lang.Object
  extended by com.bigdata.service.AbstractService
      extended by com.bigdata.service.AbstractTransactionService
          extended by com.bigdata.service.DistributedTransactionService
              extended by com.bigdata.service.jini.TransactionServer.AdministrableTransactionService
All Implemented Interfaces:
ICounterSetAccess, ITimestampService, ITransactionService, IService, IServiceShutdown, RemoteAdministrable, RemoteDestroyAdmin, com.sun.jini.admin.DestroyAdmin, Remote, net.jini.admin.Administrable
Enclosing class:
TransactionServer

public static class TransactionServer.AdministrableTransactionService
extends DistributedTransactionService
implements RemoteAdministrable, RemoteDestroyAdmin

Adds jini administration interfaces to the basic DataService.

Version:
$Id$
Author:
Bryan Thompson

Nested Class Summary
 
Nested classes/interfaces inherited from class com.bigdata.service.DistributedTransactionService
DistributedTransactionService.NotifyReleaseTimeTask, DistributedTransactionService.Options, DistributedTransactionService.SnapshotHelper
 
Nested classes/interfaces inherited from class com.bigdata.service.AbstractTransactionService
AbstractTransactionService.TxState
 
Field Summary
protected  TransactionServer server
           
 
Fields inherited from class com.bigdata.service.DistributedTransactionService
BASENAME, commitTimeIndex, dataDir, EXT
 
Fields inherited from class com.bigdata.service.AbstractTransactionService
ERR_NO_SUCH, ERR_NOT_ACTIVE, ERR_READ_ONLY, ERR_SERVICE_NOT_AVAIL, lock, log, startTimeIndex, txDeactivate
 
Constructor Summary
TransactionServer.AdministrableTransactionService(TransactionServer server, Properties properties)
           
 
Method Summary
protected  void clearLoggingContext()
          Clear the logging context.
 void destroy()
          Destroy the service.
 Object getAdmin()
           
 JiniFederation<?> getFederation()
          Return the proxy used to access other services in the federation.
 String getServiceName()
          Extends the base behavior to return a Name of the service from the Configuration.
protected  void setupLoggingContext()
          Adds the following parameters to the MDC clientname The hostname or IP address of the client making the request. Note: InetAddress.getHostName() is used.
 void shutdown()
          Polite shutdown.
 void shutdownNow()
          Fast shutdown (not immediate since it must abort active transactions).
 
Methods inherited from class com.bigdata.service.DistributedTransactionService
abortImpl, addScheduledTasks, commitImpl, committed, findCommitTime, findNextCommitTime, getCounters, getDataServices, getLastCommitTime, notifyCommit, prepared, setReleaseTime, singlePhaseCommit, snapshot, start
 
Methods inherited from class com.bigdata.service.AbstractTransactionService
abort, activateTx, assertOpen, assignTransactionIdentifier, commit, deactivateTx, declareResources, findUnusedTimestamp, getAbortCount, getActiveCount, getCommitCount, getMinReleaseAge, getProperties, getReadOnlyActiveCount, getReadsOnTime, getReadWriteActiveCount, getReleaseTime, getRunState, getServiceIface, getStartCount, getStartTime, isOpen, newTx, nextTimestamp, setRunState, updateReleaseTime, updateReleaseTimeForBareCommit
 
Methods inherited from class com.bigdata.service.AbstractService
getHostname, getServiceUUID, setServiceUUID
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.bigdata.service.IService
getHostname, getServiceUUID
 

Field Detail

server

protected final TransactionServer server
Constructor Detail

TransactionServer.AdministrableTransactionService

public TransactionServer.AdministrableTransactionService(TransactionServer server,
                                                         Properties properties)
Method Detail

getFederation

public JiniFederation<?> getFederation()
Description copied from class: AbstractService
Return the proxy used to access other services in the federation.

Specified by:
getFederation in class AbstractService

getAdmin

public Object getAdmin()
                throws RemoteException
Specified by:
getAdmin in interface net.jini.admin.Administrable
Throws:
RemoteException

setupLoggingContext

protected void setupLoggingContext()
Adds the following parameters to the MDC
clientname
The hostname or IP address of the client making the request.
Note: InetAddress.getHostName() is used. This method makes a one-time best effort attempt to resolve the host name from the InetAddress.

Overrides:
setupLoggingContext in class AbstractService
TODO:
we could pass the class ClientSubject to obtain the authenticated identity of the client (if any) for an incoming remote call.

clearLoggingContext

protected void clearLoggingContext()
Description copied from class: AbstractService
Clear the logging context.

Overrides:
clearLoggingContext in class AbstractService

destroy

public void destroy()
Destroy the service.

Specified by:
destroy in interface IService
Specified by:
destroy in interface RemoteDestroyAdmin
Specified by:
destroy in interface com.sun.jini.admin.DestroyAdmin
Overrides:
destroy in class DistributedTransactionService

shutdown

public void shutdown()
Description copied from class: AbstractTransactionService
Polite shutdown. New transactions will not start. This method will block until existing transactions (both read-write and read-only) are complete (either aborted or committed).

Specified by:
shutdown in interface IServiceShutdown
Specified by:
shutdown in interface RemoteDestroyAdmin
Overrides:
shutdown in class DistributedTransactionService

shutdownNow

public void shutdownNow()
Description copied from class: AbstractTransactionService
Fast shutdown (not immediate since it must abort active transactions).

New transactions will not start and active transactions will be aborted. Transactions which are concurrently committing MAY fail (throwing exceptions from various methods, including AbstractTransactionService.nextTimestamp()) when the service halts.

Specified by:
shutdownNow in interface IServiceShutdown
Specified by:
shutdownNow in interface RemoteDestroyAdmin
Overrides:
shutdownNow in class DistributedTransactionService

getServiceName

public String getServiceName()
Extends the base behavior to return a Name of the service from the Configuration. If no name was specified in the Configuration then the value returned by the base class is returned instead.

Specified by:
getServiceName in interface IService
Overrides:
getServiceName in class AbstractService


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