|
Joram 5.3.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.joram.mom.proxies.ProxyImpl
public class ProxyImpl
The ProxyImpl
class implements the MOM proxy behaviour,
basically forwarding client requests to MOM destinations and MOM
destinations replies to clients.
Field Summary | |
---|---|
static org.objectweb.util.monolog.api.Logger |
logger
|
protected long |
nbMsgsSentToDMQSinceCreation
the number of erroneous messages forwarded to the DMQ |
protected long |
period
period to run the cleaning task, by default 60s. |
Constructor Summary | |
---|---|
ProxyImpl(ProxyAgentItf proxyAgent)
Constructs a ProxyImpl instance. |
Method Summary | |
---|---|
void |
deleteProxy(fr.dyade.aaa.agent.AgentId from)
This method deletes the proxy by notifying its connected clients, denying the non acknowledged messages, deleting the temporary destinations, removing the subscriptions. |
void |
deleteSubscriptionMessage(java.lang.String subName,
java.lang.String msgId)
Deletes a particular pending message in a subscription. |
protected void |
doReact(fr.dyade.aaa.agent.AgentId from,
Monit_GetNbMaxMsg not)
Method implementing the reaction to a Monit_GetNbMaxMsg notification requesting the
number max of messages in the subscription. |
protected void |
doReact(fr.dyade.aaa.agent.AgentId from,
SetNbMaxMsgRequest not)
Method implementing the reaction to a SetNbMaxMsgRequest
instance setting the NbMaxMsg value for the subscription. |
protected java.lang.String |
getMsgTxname()
|
long |
getNbMsgsSentToDMQSinceCreation()
Returns the number of erroneous messages forwarded to the DMQ since creation time of this proxy.. |
long |
getPeriod()
Returns the period value of this queue, -1 if not set. |
java.lang.String[] |
getSubscriptionNames()
Returns the list of subscriptions for this user. |
void |
initialize(boolean firstTime)
(Re)initializes the proxy. |
void |
react(fr.dyade.aaa.agent.AgentId from,
fr.dyade.aaa.agent.Notification not)
Distributes the received notifications to the appropriate reactions. |
void |
reactToClientRequest(int key,
AbstractJmsRequest request)
Method processing clients requests. |
void |
readBag(java.io.ObjectInputStream in)
|
protected void |
setMsgTxName(Message msg)
|
void |
setPeriod(long period)
Sets or unsets the period for this queue. |
java.lang.String |
toString()
Returns a string representation of this user's proxy. |
void |
writeBag(java.io.ObjectOutputStream out)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static org.objectweb.util.monolog.api.Logger logger
protected long period
protected long nbMsgsSentToDMQSinceCreation
Constructor Detail |
---|
public ProxyImpl(ProxyAgentItf proxyAgent)
ProxyImpl
instance.
Method Detail |
---|
public long getPeriod()
getPeriod
in interface ProxyImplMBean
public void setPeriod(long period)
setPeriod
in interface ProxyImplMBean
period
- The period value to be set or -1 for unsetting previous
value.public java.lang.String toString()
toString
in interface ProxyImplMBean
toString
in class java.lang.Object
public void initialize(boolean firstTime) throws java.lang.Exception
java.lang.Exception
- If the proxy state could not be fully retrieved,
leading to an inconsistent state.public void reactToClientRequest(int key, AbstractJmsRequest request)
Some of the client requests are directly forwarded, some others are sent to the proxy so that their processing occurs in a transaction.
A MomExceptionReply
wrapping a DestinationException
might be sent back if a target destination can't be identified.
public void react(fr.dyade.aaa.agent.AgentId from, fr.dyade.aaa.agent.Notification not) throws fr.dyade.aaa.agent.UnknownNotificationException
A JMS proxy reacts to:
SyncReply
proxy synchronizing notification,SetDMQRequest
admin notification,SetThreshRequest
admin notification,SetNbMaxMsgRequest
admin notification,Monit_GetNbMaxMsg
admin notification,Monit_GetDMQSettings
monitoring notification,AbstractReply
destination replies,AdminReply
administration replies,fr.dyade.aaa.agent.UnknownAgent
.
fr.dyade.aaa.agent.UnknownNotificationException
- If the notification is not expected.protected void doReact(fr.dyade.aaa.agent.AgentId from, SetNbMaxMsgRequest not)
SetNbMaxMsgRequest
instance setting the NbMaxMsg value for the subscription.
protected void doReact(fr.dyade.aaa.agent.AgentId from, Monit_GetNbMaxMsg not)
Monit_GetNbMaxMsg
notification requesting the
number max of messages in the subscription.
AccessException
- If the requester is not the administrator.protected final java.lang.String getMsgTxname()
protected final void setMsgTxName(Message msg)
public java.lang.String[] getSubscriptionNames()
getSubscriptionNames
in interface ProxyImplMBean
public void deleteSubscriptionMessage(java.lang.String subName, java.lang.String msgId)
subName
- The subscription unique name.msgId
- The unique message's identifier.public void deleteProxy(fr.dyade.aaa.agent.AgentId from) throws java.lang.Exception
java.lang.Exception
- If the requester is not an administrator.public void readBag(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
public void writeBag(java.io.ObjectOutputStream out) throws java.io.IOException
java.io.IOException
public long getNbMsgsSentToDMQSinceCreation()
ProxyImplMBean
getNbMsgsSentToDMQSinceCreation
in interface ProxyImplMBean
|
Joram 5.3.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |