things.thinger.service.local
Class ConsoleService

java.lang.Object
  extended by java.lang.Thread
      extended by things.thinger.kernel.ThingsProcess
          extended by things.thinger.service.Service
              extended by things.thinger.service.local.CLIBackbone
                  extended by things.thinger.service.local.ConsoleService
All Implemented Interfaces:
java.lang.Runnable, Verbose, ControlInterface, ProcessInterface, ResourceListener, CLIServiceConstants

public class ConsoleService
extends CLIBackbone

A console service. It will take a direct stdin and give it to the tender.

While you can choose to run it as a server, you might not want too. STDIN doesn't respond well to kernel interrupts. Sometimes it behaves.

Version:
1.0

Version History

EPG - Initial (moved this out of the bootstrap) - 06 NOV 07
 
Author:
Erich P. Gatejen

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class things.thinger.service.local.CLIBackbone
transactionInterface
 
Fields inherited from class things.thinger.service.Service
myLogger
 
Fields inherited from class things.thinger.kernel.ThingsProcess
DEFAULT_NAME, internalResult, myPostLogger, ssi
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Fields inherited from interface things.thinger.service.local.CLIServiceConstants
COMMAND_HELP, COMMAND_KILL, COMMAND_KILL_PID, COMMAND_KILL_PID_POSITION, COMMAND_PING, COMMAND_PING_WHISPER, COMMAND_PING_WHISPER_POSITION, COMMAND_PROCESSLIST, COMMAND_PROCESSLIST_LOG_VALUE, COMMAND_QUIT, COMMAND_RUN, COMMAND_RUN_NAME, COMMAND_RUN_NAME_POSITION, COMMAND_SETPROP, COMMAND_SETPROP_NAME, COMMAND_SETPROP_NAME_POSITION, COMMAND_SETPROP_VALUE, COMMAND_SETPROP_VALUE_POSITION, COMMAND_SHOWPROPS, COMMAND_SHOWPROPS_LOG_VALUE, HELP, POSITION_ARG1, POSITION_ARG2, POSITION_COMMAND, ROLLUP_WAIT
 
Constructor Summary
ConsoleService()
           
 
Method Summary
 void constructThingsProcess()
          Complete construction.
 void destructThingsProcess()
          Destroy.
 void enterConsole()
          This will run the console.
 void executeThingsProcess()
          This is the entry point for the actual processing.
 WhoAmI getListenerId()
          Get the ID of the listener.
 java.lang.String getProcessName()
          Get process name.
 void resourceRevocation(WhoAmI resourceID)
          The identified resource is in the process of being revoked.
 void resourceRevoked(WhoAmI resourceID)
          The identified resource bas been revoked.
 void serviceOff()
          Called to turn the service off.
 void serviceOn()
          Called to turn the service on.
 
Methods inherited from class things.thinger.service.local.CLIBackbone
tender
 
Methods inherited from class things.thinger.service.Service
setLogger
 
Methods inherited from class things.thinger.kernel.ThingsProcess
acceptHalt, acceptPause, finalize, fix, forceFinalize, forceHalt, getCurrentState, getCurrentStateNumeric, getProcessId, getResult, getStartTime, getThingsState, init, isVerbose, release, releasePause, requestHalt, requestPause, run, screech, verboseOff, verboseOn
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ConsoleService

public ConsoleService()
Method Detail

enterConsole

public void enterConsole()
                  throws SystemException
This will run the console. It does not rely on any service infrastructure, so you can call it without starting the object as a service.

Throws:
SystemException

serviceOn

public void serviceOn()
               throws SystemException
Called to turn the service on. This may be called by another thread.

Specified by:
serviceOn in class Service
Throws:
SystemException

serviceOff

public void serviceOff()
                throws SystemException
Called to turn the service off. This may be called by another thread.

Specified by:
serviceOff in class Service
Throws:
SystemException

executeThingsProcess

public void executeThingsProcess()
                          throws SystemException
This is the entry point for the actual processing.

Specified by:
executeThingsProcess in class ThingsProcess
Throws:
SystemException

constructThingsProcess

public void constructThingsProcess()
                            throws SystemException
Complete construction. This will be called when the process is initialized.

Specified by:
constructThingsProcess in class ThingsProcess
Throws:
SystemException

destructThingsProcess

public void destructThingsProcess()
                           throws SystemException
Destroy. This will be called when the Process is finalizing.

Specified by:
destructThingsProcess in class ThingsProcess
Throws:
SystemException

getProcessName

public java.lang.String getProcessName()
Get process name. It does not have to be a unique ID.

Specified by:
getProcessName in interface ProcessInterface
Specified by:
getProcessName in class ThingsProcess
Returns:
the name as a String

resourceRevocation

public void resourceRevocation(WhoAmI resourceID)
                        throws SystemException,
                               java.lang.InterruptedException
The identified resource is in the process of being revoked. It is still possible for the resource listener to call the resource within the context of this thread and call.

Parameters:
resourceID - the ID of the resource that is being revoked.
Throws:
SystemException
java.lang.InterruptedException
See Also:
WhoAmI

resourceRevoked

public void resourceRevoked(WhoAmI resourceID)
                     throws SystemException,
                            java.lang.InterruptedException
The identified resource bas been revoked. It is gone. Attempting to call it would be a very bad thing. The listener should remove the resource from it's internal lists..

Parameters:
resourceID - the ID of the resource that has been revoked.
Throws:
SystemException
java.lang.InterruptedException
See Also:
WhoAmI

getListenerId

public WhoAmI getListenerId()
Get the ID of the listener.

Returns:
The listener's ID.
See Also:
WhoAmI


Things.