|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--solar.service.BaseService | +--solar.service.directory.CentralDirectoryService
A centralized directory service, which requires a rpc and a transport services.
Field Summary | |
protected Directory |
_directory
|
protected DispatchService |
_dispatch
|
protected Address |
_laddr
|
protected java.util.Hashtable |
_listeners
|
protected boolean |
_local
|
protected org.apache.log4j.Logger |
_log
The logging facility. |
protected RpcService |
_rpc
|
protected Address |
_server
|
protected java.lang.String |
_transport
|
Fields inherited from class solar.service.BaseService |
_inited, _manager, _name |
Fields inherited from interface solar.service.rpc.RpcConstants |
RPC_BLOCK, RPC_HANDLER, RPC_REPLY, RPC_REQUEST, RPC_TIMEOUT |
Constructor Summary | |
CentralDirectoryService()
|
Method Summary | |
void |
addListener(Name pattern,
DirectoryListener listener)
Add a directory listener for the specified pattern. |
java.lang.Object |
advertise(Name name,
Id guid,
java.lang.Object obj)
Advertise a name to the name space, with an app-specific object. |
private java.lang.Object |
callRpc(Request req)
|
private void |
doAddListener(Name pattern,
DirectoryListener listener)
|
private java.lang.Object |
doAdvertise(Name name,
NameRecord rec)
|
private java.util.List |
doLookup(Name pattern)
|
private void |
doRemoveListener(Name pattern,
DirectoryListener listener)
|
private java.lang.Object |
doUnadvertise(Name name,
NameRecord rec)
|
private java.lang.Object |
doUpdate(Name oldname,
NameRecord oldrec,
Name newname,
NameRecord newrec)
|
java.lang.Object |
handleRequest(Request request)
Processing a request. |
void |
init()
Initiate the service, do not try to init dependent services here. |
void |
initDependents()
Initialize dependent services here. |
java.util.List |
lookup(Name pattern)
Return a list of advertisement whose name matches the pattern. |
void |
removeListener(Name pattern,
DirectoryListener listener)
Remove a directory listener for the specified pattern. |
java.lang.Object |
unadvertise(Name name,
Id guid)
Unadvertise a name from the name space. |
java.lang.Object |
update(Name oldname,
Id guid,
Name newname,
java.lang.Object obj)
Update a name advertisement in the name space. |
Methods inherited from class solar.service.BaseService |
assertInited, getDependentService, getName, getServiceManager, handleDispatchUnit, handleEvent, handleEvent, hasInited, init, setInited, setName, setServiceManager, start, stop |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface solar.service.Service |
getName, getServiceManager, handleDispatchUnit, hasInited, setName, setServiceManager, start, stop |
Methods inherited from interface solar.api.EventHandler |
handleEvent |
Field Detail |
protected org.apache.log4j.Logger _log
protected boolean _local
protected Address _server
protected DispatchService _dispatch
protected RpcService _rpc
protected java.lang.String _transport
protected Address _laddr
protected Directory _directory
protected java.util.Hashtable _listeners
Constructor Detail |
public CentralDirectoryService()
Method Detail |
public void init() throws ServiceException
Service
init
in interface Service
init
in class BaseService
ServiceException
public void initDependents() throws ServiceException
Service
initDependents
in interface Service
initDependents
in class BaseService
ServiceException
public java.lang.Object handleRequest(Request request) throws java.lang.Exception
RequestHandler
handleRequest
in interface RequestHandler
handleRequest
in class BaseService
java.lang.Exception
public void addListener(Name pattern, DirectoryListener listener) throws DirectoryException
DirectoryService
addListener
in interface DirectoryService
DirectoryException
public void removeListener(Name pattern, DirectoryListener listener) throws DirectoryException
DirectoryService
removeListener
in interface DirectoryService
DirectoryException
public java.util.List lookup(Name pattern) throws DirectoryException
DirectoryService
lookup
in interface DirectoryService
DirectoryException
public java.lang.Object advertise(Name name, Id guid, java.lang.Object obj) throws DirectoryException
DirectoryService
advertise
in interface DirectoryService
DirectoryException
public java.lang.Object unadvertise(Name name, Id guid) throws DirectoryException
DirectoryService
unadvertise
in interface DirectoryService
DirectoryException
public java.lang.Object update(Name oldname, Id guid, Name newname, java.lang.Object obj) throws DirectoryException
DirectoryService
update
in interface DirectoryService
DirectoryException
private java.lang.Object callRpc(Request req) throws RpcException
RpcException
private void doAddListener(Name pattern, DirectoryListener listener) throws DirectoryException
DirectoryException
private void doRemoveListener(Name pattern, DirectoryListener listener) throws DirectoryException
DirectoryException
private java.util.List doLookup(Name pattern) throws DirectoryException
DirectoryException
private java.lang.Object doAdvertise(Name name, NameRecord rec) throws DirectoryException
DirectoryException
private java.lang.Object doUnadvertise(Name name, NameRecord rec) throws DirectoryException
DirectoryException
private java.lang.Object doUpdate(Name oldname, NameRecord oldrec, Name newname, NameRecord newrec) throws DirectoryException
DirectoryException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |