ServerStates@Contract public interface ServerService extends ServerStates
weblogic.t3.srvr.ServerServices. Please refer to the javadoc of 
 weblogic.t3.srvr.ServerServices for more information on when start,
 stop and halt are called.ACTIVATE_LATER, ADMIN, FAILED, FAILED_NOT_RESTARTABLE, FAILED_RESTARTING, FORCE_SHUTTING_DOWN, FORCE_SUSPENDING, INACTIVE, RESUMING, RUNNING, SHUTDOWN, SHUTDOWN_IN_PROCESS, SHUTDOWN_PENDING, SHUTTING_DOWN, STANDBY, STARTING, SUSPENDING, UNKNOWN| Modifier and Type | Method | Description | 
|---|---|---|
java.lang.String | 
getName() | 
 Get the name of the server service. 
 | 
java.lang.String | 
getVersion() | 
 Get a comma separated list of specification versions that this server
 service implements. 
 | 
void | 
halt() | 
 This method shuts down the service by cancelling or rolling back inflight 
 work. 
 | 
void | 
start() | 
 This method starts the service. 
 | 
void | 
stop() | 
 This method gracefully shuts down the service completing inflight work and 
 releasing resources. 
 | 
java.lang.String getName()
java.lang.String getVersion()
void start()
    throws ServiceFailureException
This method can be called more than once but not concurrently. Here are the conditions under which start() can be called:
ServiceFailureException - service is unable to start due to an 
 internal error condition. The service is not available if this exception 
 is thrown. The service should cleanup its state before throwing this 
 exception. No further callbacks will be issued after this exception is
 thrown.void stop() throws ServiceFailureException
"work associated with state that will be lost if this service becomes unavailable. Remote and/or local users are relying on this state to complete their work. The user can be another ServerService, a remote EJB client, browser request etc. If the state is replicated to another cluster node or is persistent and available to other nodes then work accessing such state is not treated as inflight work. Note that work would be treated as inflight till replication or persistence is complete."
There is always a danger that completing inflight work can take forever. The caller of this method is expected to handle that condition. For e.g. graceful shutdown provides a timeout after which force shutdown begins.
Services should handle a halt() call even when stop() is executing.
This method can be called more than once but not concurrently. Here are the conditions under which stop() can be called:
ServiceFailureException - This exception is thrown to indicate that 
 stop quit without completing inflight work. This could happen due to an 
 internal error or if halt is already in progress. If stop fails due to 
 internal error, the service should guarantee that a subsequent halt call 
 will succeed.void halt() throws ServiceFailureException
"Inflight work should be cancelled if possible and if the cancellation time is not dependent on user intervention or user configured timeout e.g. rollback of pending transactions. If cancellation cannot be done without user intervention or configuration (e.g. invalidation of servlet session in a non-clustered server) then it should be dropped. If the state is replicated to another cluster node or is persistent and available to other nodes then cancellation just means relinquishing control over that state and letting another cluster member takeover."
Services should handle a halt() call even when stop() is executing.
This method can be called more than once but not concurrently. Here are the conditions under which halt() can be called:
ServiceFailureException - service is unable to halt due to an 
 internal error condition. The service becomes unavailable if this 
 exception is thrown. halt() should throw this exception with an 
 appropriate message only when it cannot complete shutdown and the next 
 invocation of start() might fail because of this failure. Note that the 
 next invocation of start() can happen after server restart. In all other 
 cases, halt() should log a message and continue to completion.