fr.dyade.aaa.jndi2.server
Class RequestManager

java.lang.Object
  extended byfr.dyade.aaa.jndi2.server.RequestManager
All Implemented Interfaces:
LifeCycleListener, java.io.Serializable
Direct Known Subclasses:
ReplicationManager

public class RequestManager
extends java.lang.Object
implements LifeCycleListener, java.io.Serializable

See Also:
Serialized Form

Constructor Summary
RequestManager()
           
 
Method Summary
 void agentFinalize(boolean lastTime)
           
 void agentInitialize(boolean firstTime)
           
protected  void changeOwner(ChangeOwnerRequest request)
           
protected  void createSubcontext(CreateSubcontextRequest request)
           
 AgentId getId()
           
protected  AgentId getRootOwnerId()
          Returns the root naming context owner identifier.
protected  ServerImpl getServerImpl()
           
 JndiReply invoke(RequestContext reqCtx)
           
protected  JndiReply invokeAdminRequest(RequestContext reqCtx)
           
protected  JndiReply invokeOwner(AgentId owner, RequestContext reqCtx)
          A centralized JNDI server returns a JNDI error explaining that this server is not the owner of the context on which the JNDI operation is called.
protected  JndiReply invokeReadRequest(RequestContext reqCtx)
           
protected  JndiReply invokeWriteRequest(RequestContext reqCtx)
           
protected  JndiReply onMissingContext(MissingContextException mce, RequestContext reqCtx)
          In a centralized JNDI server a missing context shows that the naming data are unconsistent.
protected  JndiReply onMissingRecord(MissingRecordException mre, RequestContext reqCtx)
          In a centralized JNDI server a missing record shows that the name asked by the JNDI request doesn't exist.
 void readBag(java.io.ObjectInputStream in)
           
 void sendTo(AgentId to, Notification not)
           
 void setContainer(Container container)
           
 void writeBag(java.io.ObjectOutputStream out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RequestManager

public RequestManager()
Method Detail

setContainer

public void setContainer(Container container)

getId

public final AgentId getId()

sendTo

public void sendTo(AgentId to,
                   Notification not)

agentInitialize

public void agentInitialize(boolean firstTime)
                     throws java.lang.Exception
Specified by:
agentInitialize in interface LifeCycleListener
Throws:
java.lang.Exception

agentFinalize

public void agentFinalize(boolean lastTime)
Specified by:
agentFinalize in interface LifeCycleListener

getRootOwnerId

protected AgentId getRootOwnerId()
Returns the root naming context owner identifier. May be overridden by a subclass.


getServerImpl

protected final ServerImpl getServerImpl()

invoke

public JndiReply invoke(RequestContext reqCtx)

invokeReadRequest

protected JndiReply invokeReadRequest(RequestContext reqCtx)
                               throws javax.naming.NamingException
Throws:
javax.naming.NamingException

invokeWriteRequest

protected JndiReply invokeWriteRequest(RequestContext reqCtx)
                                throws javax.naming.NamingException
Throws:
javax.naming.NamingException

invokeAdminRequest

protected JndiReply invokeAdminRequest(RequestContext reqCtx)
                                throws javax.naming.NamingException
Throws:
javax.naming.NamingException

createSubcontext

protected void createSubcontext(CreateSubcontextRequest request)
                         throws javax.naming.NamingException
Throws:
javax.naming.NamingException

changeOwner

protected void changeOwner(ChangeOwnerRequest request)
                    throws javax.naming.NamingException
Throws:
javax.naming.NamingException

invokeOwner

protected JndiReply invokeOwner(AgentId owner,
                                RequestContext reqCtx)
A centralized JNDI server returns a JNDI error explaining that this server is not the owner of the context on which the JNDI operation is called. A subclass may override this behavior in order to invoke the owner of the naming context.

Parameters:
owner - the identifier of the naming server that owns the naming context on which the JNDI operation is called.
reqCtx - the JNDI request context that raised the exception.
Returns:
the JNDI reply. May be null if the owner invocation is asynchronous.

onMissingContext

protected JndiReply onMissingContext(MissingContextException mce,
                                     RequestContext reqCtx)
In a centralized JNDI server a missing context shows that the naming data are unconsistent. So it throws an error. A subclass may override this behavior in order to try to resolve the missing context.

Parameters:
mce - the missing context exception
reqCtx - the JNDI request context that raised the exception.
Returns:
the JNDI reply. May be null if the resolution is asynchronous.

onMissingRecord

protected JndiReply onMissingRecord(MissingRecordException mre,
                                    RequestContext reqCtx)
In a centralized JNDI server a missing record shows that the name asked by the JNDI request doesn't exist. So the NameNotFoundException is directly forwarded to the client. A subclass may override this behavior in order to try to resolve the missing record.

Parameters:
mre - the missing context exception
reqCtx - the JNDI request context that raised the exception.
Returns:
the JNDI reply. May be null if the resolution is asynchronous.

writeBag

public void writeBag(java.io.ObjectOutputStream out)
              throws java.io.IOException
Throws:
java.io.IOException

readBag

public void readBag(java.io.ObjectInputStream in)
             throws java.io.IOException,
                    java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException


Copyright ? 2004 Scalagent - All rights reserved