com.bigdata.service.jini
Class ClientServer.AdministrableClientService

java.lang.Object
  extended by com.bigdata.service.AbstractService
      extended by com.bigdata.service.ClientService
          extended by com.bigdata.service.jini.ClientServer.AdministrableClientService
All Implemented Interfaces:
IClientService, IRemoteExecutor, IService, ISession, RemoteAdministrable, RemoteDestroyAdmin, com.sun.jini.admin.DestroyAdmin, Remote, net.jini.admin.Administrable
Enclosing class:
ClientServer

public static class ClientServer.AdministrableClientService
extends ClientService
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.ClientService
ClientService.ClientServiceFederationDelegate, ClientService.Options
 
Field Summary
protected  ClientServer server
           
 
Fields inherited from class com.bigdata.service.ClientService
log
 
Constructor Summary
ClientServer.AdministrableClientService(ClientServer 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()
          Shutdown the service, but do not destroy its persistent data.
 void shutdownNow()
          Immediate or fast shutdown for the service, but does not destroy its persistent data.
 Future<? extends Object> submit(Callable<? extends Object> task)
          Extends the base behavior to return an RMI compatible proxy for the Future.
 
Methods inherited from class com.bigdata.service.ClientService
getServiceIface, getSession, isOpen, start
 
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 ClientServer server
Constructor Detail

ClientServer.AdministrableClientService

public ClientServer.AdministrableClientService(ClientServer server,
                                               Properties 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

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 AbstractService

shutdown

public void shutdown()
Description copied from interface: RemoteDestroyAdmin
Shutdown the service, but do not destroy its persistent data.

Specified by:
shutdown in interface RemoteDestroyAdmin
Overrides:
shutdown in class ClientService

shutdownNow

public void shutdownNow()
Description copied from interface: RemoteDestroyAdmin
Immediate or fast shutdown for the service, but does not destroy its persistent data.

Specified by:
shutdownNow in interface RemoteDestroyAdmin
Overrides:
shutdownNow in class ClientService

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

submit

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

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

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.