|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--net.sourceforge.esw.util.SupportObject | +--net.sourceforge.esw.service.AService
Base class for Service implementors to extend.
Describes the base abilities of a Service within the Services Framework.
IService instances maintain a priority
property that
indicates which service should be used first if there are more than one type
of an IService implementor started within the enterprise. Changing the
priority fires the appropriate PropertyChangeEvent
. The
predefined priorities used by the service framework are:
All IService instances have push and pull elements to help verify
livliness of the service. Those elements can be exercised using the
ping()
and getHeartbeatGenerator()
methods.
Each service has the ability to be started
and
stopped
. Starting or stopping an IService instance also
starts/stops the IHeartbeatGenerator instance, and fires the approprate
PropertyChangeEvent
.
An IService instance may be started and alive, yet not be sane. The final
check for the valid livliness of an IService instance is the call to
isSane()
. As this may cause some computation to be performed on
the service, use of this method should be restricted to need only.
IHeartbeatGenerator
,
ISupportObject
, Serialized FormField Summary | |
protected boolean |
bStarted
States whether this AService instance is started. |
protected IHeartbeatGenerator |
heartbeatGenerator
The IHeartbeatGenerator instance for pushing this AService instances livliness. |
protected int |
priority
The priority of this AService instance. |
Fields inherited from class net.sourceforge.esw.util.SupportObject |
id, properties, propertyChildren, propertyListeners, vetoableChildren, vetoableListeners |
Fields inherited from interface net.sourceforge.esw.service.IService |
PRIMARY, SECONDARY, TERTIARY, UNAVAILABLE |
Constructor Summary | |
AService()
Creates a new AService. |
|
AService(java.lang.Object aId)
Creates a new AService with the specified id. |
Method Summary | |
void |
die()
Requests that this IService instance to kill itself. |
IHeartbeatGenerator |
getHeartbeatGenerator()
Returns the IHeartbeatGenterator instance for this IService instance. |
int |
getPriority()
Returns the priority of this IService instance. |
boolean |
isSane()
States whether this IService instance is sane. |
boolean |
isStarted()
States whether this IService instance is started. |
boolean |
ping()
Allows checking of connection to this IService instance. |
void |
setPriority(int aPriority)
Sets the priority of this IService instance. |
void |
start()
Starts this IService instance and allows it to serve client requests. |
void |
stop()
Stops this IService instance and keeps it from serving client requests. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.sourceforge.esw.util.ISupportObject |
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, getID, getProperty, getPropertySize, propertyKeys, removeProperty, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener, setID, setProperty |
Field Detail |
protected IHeartbeatGenerator heartbeatGenerator
protected boolean bStarted
protected int priority
Constructor Detail |
public AService()
public AService(java.lang.Object aId)
aID
- the name of this AServiceMethod Detail |
public void start()
The service should be registered with a lookup server regardless of whether it is started or not.
Fires an IServiceResources.START_PROPERTY property change event.
start
in interface IService
stop()
public void stop()
The service should be registered with a lookup server regardless of whether it is stopped or not.
Fires an IServiceResources.STOP_PROPERTY property change event.
stop
in interface IService
start()
public boolean isStarted()
isStarted
in interface IService
public IHeartbeatGenerator getHeartbeatGenerator()
getHeartbeatGenerator
in interface IService
public boolean isSane()
This default implementation always returns true. Implementors should change this to do some useful sanity checking.
isSane
in interface IService
public void die()
This default implementation calls System.exit(0)
.
Fires an IServiceResources.DIE_PROPERTY property change event.
die
in interface IService
public boolean ping()
ping
in interface IService
public void setPriority(int aPriority)
Fires an IServiceResources.PRIORITY_PROPERTY property change event.
setPriority
in interface IService
aPriority
- the new priority of this IService instance.public int getPriority()
getPriority
in interface IService
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |