com.bigdata.service.jini
Class MetadataServer.AdministrableMetadataService

java.lang.Object
  extended by com.bigdata.service.AbstractService
      extended by com.bigdata.service.DataService
          extended by com.bigdata.service.MetadataService
              extended by com.bigdata.service.jini.MetadataServer.AdministrableMetadataService
All Implemented Interfaces:
IDataService, IMetadataService, IRemoteExecutor, IService, IServiceShutdown, ISession, ITxCommitProtocol, RemoteAdministrable, RemoteDestroyAdmin, com.sun.jini.admin.DestroyAdmin, Remote, net.jini.admin.Administrable
Enclosing class:
MetadataServer

public static class MetadataServer.AdministrableMetadataService
extends MetadataService
implements Remote, RemoteAdministrable, RemoteDestroyAdmin

Adds jini administration interfaces to the basic MetadataService.

Version:
$Id$
Author:
Bryan Thompson

Nested Class Summary
 
Nested classes/interfaces inherited from class com.bigdata.service.MetadataService
MetadataService.DropScaleOutIndexTask, MetadataService.JoinIndexPartitionTask, MetadataService.MoveIndexPartitionTask, MetadataService.NextPartitionIdTask, MetadataService.Options, MetadataService.RegisterScaleOutIndexTask, MetadataService.SplitIndexPartitionTask
 
Nested classes/interfaces inherited from class com.bigdata.service.DataService
DataService.DataServiceFederationDelegate, DataService.DataServiceTransactionManager, DataService.GetIndexMetadataTask, DataService.IDataServiceCounters, DataService.RangeIteratorTask, DataService.ReadBlockCounters
 
Field Summary
protected  MetadataServer server
           
 
Fields inherited from class com.bigdata.service.MetadataService
ERR_DELETE_MARKERS, METADATA_INDEX_NAMESPACE
 
Fields inherited from class com.bigdata.service.DataService
log
 
Constructor Summary
MetadataServer.AdministrableMetadataService(MetadataServer 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.
 IQueryPeer getQueryEngine()
          Extends the base behavior to return an RMI compatible proxy for the IQueryEngine.
 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 does not accept new requests and will shutdown once the existing requests have been processed.
 void shutdownNow()
          Shutdown attempts to abort in-progress requests and shutdown as soon as possible.
 Future<? extends Object> submit(Callable<? extends Object> task)
          Extends the base behavior to return an RMI compatible proxy.
 Future submit(long tx, String name, IIndexProcedure proc)
          Extends the base behavior to return an RMI compatible proxy for the Future.
 
Methods inherited from class com.bigdata.service.MetadataService
dropScaleOutIndex, find, get, getMetadataIndexName, joinIndexPartition, moveIndexPartition, nextPartitionId, registerScaleOutIndex, splitIndexPartition, start
 
Methods inherited from class com.bigdata.service.DataService
abort, dropIndex, forceOverflow, getAsynchronousOverflowCounter, getConcurrencyManager, getHTTPDURLFile, getIndexMetadata, getIndexPartitionName, getLocalTransactionManager, getProperties, getResourceManager, getServiceIface, getSession, isOpen, isOverflowActive, newResourceManager, prepare, purgeOldResources, rangeIterator, readBlock, registerIndex, setReleaseTime, singlePhaseCommit
 
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.IDataService
dropIndex, forceOverflow, getAsynchronousOverflowCounter, getIndexMetadata, isOverflowActive, purgeOldResources, rangeIterator, readBlock, registerIndex
 
Methods inherited from interface com.bigdata.service.ITxCommitProtocol
abort, prepare, setReleaseTime, singlePhaseCommit
 
Methods inherited from interface com.bigdata.service.IService
getHostname, getServiceIface, getServiceUUID
 

Field Detail

server

protected final MetadataServer server
Constructor Detail

MetadataServer.AdministrableMetadataService

public MetadataServer.AdministrableMetadataService(MetadataServer server,
                                                   Properties properties)
Parameters:
properties -
Method Detail

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

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

destroy

public void destroy()
Description copied from interface: IService
Destroy the service. If the service is running, it is shutdown immediately and then destroyed. This method has the same signature as DestroyAdmin.destroy().

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 DataService

shutdown

public void shutdown()
Description copied from class: DataService
Polite shutdown does not accept new requests and will shutdown once the existing requests have been processed.

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

shutdownNow

public void shutdownNow()
Description copied from class: DataService
Shutdown attempts to abort in-progress requests and shutdown as soon as possible.

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

submit

public Future<? extends Object> submit(Callable<? extends Object> task)
Extends the base behavior to return an RMI compatible proxy.

Specified by:
submit in interface IDataService
Specified by:
submit in interface IRemoteExecutor
Overrides:
submit in class MetadataService
Returns:
The Future for that task.
See Also:
AbstractDistributedFederation.getProxy(Future)

getQueryEngine

public IQueryPeer getQueryEngine()
Extends the base behavior to return an RMI compatible proxy for the IQueryEngine.

Specified by:
getQueryEngine in interface IDataService
Overrides:
getQueryEngine in class DataService

submit

public Future submit(long tx,
                     String name,
                     IIndexProcedure proc)
Extends the base behavior to return an RMI compatible proxy for the Future.

Specified by:
submit in interface IDataService
Overrides:
submit in class DataService
Parameters:
tx - The transaction identifier, ITx.UNISOLATED for an ACID operation NOT isolated by a transaction, ITx.READ_COMMITTED for a read-committed operation not protected by a transaction (no global read lock), or any valid commit time for a read-historical operation not protected by a transaction (no global read lock).
name - The name of the index partition.
proc - The procedure to be executed.
Returns:
The Future from which the outcome of the procedure may be obtained.

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.