org.objectweb.joram.mom.dest.QueueImpl Class Reference

Inherits org.objectweb.joram.mom.dest.DestinationImpl, and org.objectweb.joram.mom.dest.QueueImplMBean.

Inherited by com.scalagent.joram.mom.dest.ftp.FtpQueueImpl, com.scalagent.joram.mom.dest.mail.JavaMailQueueImpl, com.scalagent.joram.mom.dest.scheduler.SchedulerQueueImpl, org.objectweb.joram.mom.dest.ClusterQueueImpl, and org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeQueueImpl.

Inheritance diagram for org.objectweb.joram.mom.dest.QueueImpl:

Inheritance graph
[legend]
Collaboration diagram for org.objectweb.joram.mom.dest.QueueImpl:

Collaboration graph
[legend]
List of all members.

Public Member Functions

long getPeriod ()
void setPeriod (long period)
int getThreshold ()
void setThreshold (int threshold)
int getWaitingRequestCount ()
int getPendingMessageCount ()
int getDeliveredMessageCount ()
int getNbMaxMsg ()
void setNbMaxMsg (int nbMaxMsg)
 QueueImpl (AgentId adminId, Properties prop)
void initialize (boolean firstTime)
String toString ()
void wakeUpNot (WakeUpNot not)
void setThreshRequest (AgentId from, SetThreshRequest req) throws AccessException
void setNbMaxMsgRequest (AgentId from, SetNbMaxMsgRequest req) throws AccessException
void monitGetDMQSettings (AgentId from, Monit_GetDMQSettings not) throws AccessException
void monitGetPendingMessages (AgentId from, Monit_GetPendingMessages not) throws AccessException
void monitGetPendingRequests (AgentId from, Monit_GetPendingRequests not) throws AccessException
void monitGetNbMaxMsg (AgentId from, Monit_GetNbMaxMsg not) throws AccessException
void receiveRequest (AgentId from, ReceiveRequest not) throws AccessException
void browseRequest (AgentId from, BrowseRequest not) throws AccessException
void acknowledgeRequest (AgentId from, AcknowledgeRequest not)
void denyRequest (AgentId from, DenyRequest not)
void abortReceiveRequest (AgentId from, AbortReceiveRequest not)
void destinationAdminRequestNot (AgentId from, DestinationAdminRequestNot not)
void readBag (ObjectInputStream in) throws IOException, ClassNotFoundException
void writeBag (ObjectOutputStream out) throws IOException
long getNbMsgsReceiveSinceCreation ()

Static Public Member Functions

static Integer getDefaultThreshold ()
static AgentId getDefaultDMQId ()

Static Public Attributes

static Logger logger = Debug.getLogger(QueueImpl.class.getName())

Protected Member Functions

void cleanWaitingRequest (long currentTime)
DMQManager cleanPendingMessage (long currentTime)
Hashtable getStatisticHashtable ()
void doRightRequest (SetRightRequest not)
void doClientMessages (AgentId from, ClientMessages not)
void doUnknownAgent (UnknownAgent uA)
void doDeleteNot (DeleteNot not)
final StringBuffer getMsgTxPrefix ()
final void setMsgTxName (Message msg)
final synchronized void storeMessage (Message message)
final synchronized void storeMessageHeader (Message message)
final synchronized boolean addMessage (Message message)
ClientMessages getClientMessages (int nb, String selector, boolean remove)
void removeMessages (List msgIds)
Message getMessage (String msgId, boolean remove)
void deliverMessages (int index)
boolean checkDelivery (org.objectweb.joram.shared.messages.Message msg)
void messageDelivered (String msgId)
void messageRemoved (String msgId)
boolean isUndeliverable (Message message)
void handleExpiredNot (AgentId from, ExpiredNot not)

Protected Attributes

long period = -1
Hashtable consumers
Hashtable contexts
long arrivalsCounter = 0
Vector requests
transient boolean receiving = false
transient Vector messages
transient Hashtable deliveredMsgs
int nbMaxMsg = -1

Package Attributes

transient StringBuffer msgTxPrefix = null
transient int msgTxPrefixLength = 0

Static Package Attributes

static AgentId defaultDMQId = null
static Integer defaultThreshold = null

Detailed Description

The QueueImpl class implements the MOM queue behaviour, basically storing messages and delivering them upon clients requests.

Definition at line 86 of file QueueImpl.java.


Constructor & Destructor Documentation

org.objectweb.joram.mom.dest.QueueImpl.QueueImpl ( AgentId  adminId,
Properties  prop 
)

Constructs a QueueImpl instance.

Parameters:
adminId Identifier of the administrator of the queue.
prop The initial set of properties.

Definition at line 315 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.consumers, org.objectweb.joram.mom.dest.QueueImpl.contexts, org.objectweb.joram.mom.dest.QueueImpl.period, and org.objectweb.joram.mom.dest.QueueImpl.requests.


Member Function Documentation

long org.objectweb.joram.mom.dest.QueueImpl.getPeriod (  ) 

Returns the period value of this queue, -1 if not set.

Returns:
the period value of this queue; -1 if not set.

Implements org.objectweb.joram.mom.dest.QueueImplMBean.

Definition at line 103 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.period.

void org.objectweb.joram.mom.dest.QueueImpl.setPeriod ( long  period  ) 

Sets or unsets the period for this queue.

Parameters:
period The period value to be set or -1 for unsetting previous value.

Implements org.objectweb.joram.mom.dest.QueueImplMBean.

Definition at line 113 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.DestinationImpl.forward(), and org.objectweb.joram.mom.dest.DestinationImpl.getId().

Here is the call graph for this function:

int org.objectweb.joram.mom.dest.QueueImpl.getThreshold (  ) 

Returns the threshold value of this queue, -1 if not set.

Returns:
the threshold value of this queue; -1 if not set.

Implements org.objectweb.joram.mom.dest.QueueImplMBean.

Definition at line 136 of file QueueImpl.java.

static Integer org.objectweb.joram.mom.dest.QueueImpl.getDefaultThreshold (  )  [static]

Static method returning the default threshold.

Definition at line 144 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.defaultThreshold.

static AgentId org.objectweb.joram.mom.dest.QueueImpl.getDefaultDMQId (  )  [static]

Static method returning the default DMQ identifier.

Definition at line 149 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.defaultDMQId.

void org.objectweb.joram.mom.dest.QueueImpl.setThreshold ( int  threshold  ) 

Sets or unsets the threshold for this queue.

Parameters:
The threshold value to be set (-1 for unsetting previous value).

Implements org.objectweb.joram.mom.dest.QueueImplMBean.

Definition at line 158 of file QueueImpl.java.

void org.objectweb.joram.mom.dest.QueueImpl.cleanWaitingRequest ( long  currentTime  )  [protected]

Cleans the waiting request list. Removes all request that the expiration time is less than the time given in parameter.

Parameters:
currentTime The current time.

Definition at line 188 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.requests.

Referenced by org.objectweb.joram.mom.dest.QueueImpl.deliverMessages(), org.objectweb.joram.mom.dest.QueueImpl.doDeleteNot(), org.objectweb.joram.mom.dest.QueueImpl.getWaitingRequestCount(), org.objectweb.joram.mom.dest.QueueImpl.initialize(), org.objectweb.joram.mom.dest.QueueImpl.receiveRequest(), and org.objectweb.joram.mom.dest.QueueImpl.wakeUpNot().

int org.objectweb.joram.mom.dest.QueueImpl.getWaitingRequestCount (  ) 

Returns the number of waiting requests in the queue.

Returns:
The number of waiting requests.

Implements org.objectweb.joram.mom.dest.QueueImplMBean.

Definition at line 207 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.cleanWaitingRequest(), and org.objectweb.joram.mom.dest.QueueImpl.requests.

Referenced by org.objectweb.joram.mom.dest.ClusterQueueImpl.lBMessageHope(), org.objectweb.joram.mom.dest.QueueImpl.monitGetPendingRequests(), org.objectweb.joram.mom.dest.ClusterQueueImpl.postProcess(), org.objectweb.joram.mom.dest.ClusterQueueImpl.receiveRequest(), and org.objectweb.joram.mom.dest.ClusterQueueImpl.wakeUpNot().

Here is the call graph for this function:

DMQManager org.objectweb.joram.mom.dest.QueueImpl.cleanPendingMessage ( long  currentTime  )  [protected]

Cleans the pending messages list. Removes all messages which expire before the date given in parameter.

Parameters:
currentTime The current time.
Returns:
A DMQManager which contains the expired messages. null if there wasn't any.

Definition at line 230 of file QueueImpl.java.

References org.objectweb.joram.mom.util.DMQManager.addDeadMessage(), org.objectweb.joram.mom.messages.Message.delete(), org.objectweb.joram.mom.dest.DestinationImpl.dmqId, org.objectweb.joram.mom.messages.Message.getFullMessage(), org.objectweb.joram.mom.dest.DestinationImpl.getId(), org.objectweb.joram.mom.messages.Message.getIdentifier(), org.objectweb.joram.mom.messages.Message.isValid(), org.objectweb.joram.mom.dest.QueueImpl.logger, org.objectweb.joram.mom.dest.QueueImpl.messages, and org.objectweb.joram.mom.dest.DestinationImpl.nbMsgsSentToDMQSinceCreation.

Referenced by org.objectweb.joram.mom.dest.QueueImpl.browseRequest(), org.objectweb.joram.mom.dest.QueueImpl.deliverMessages(), org.objectweb.joram.mom.dest.ClusterQueueImpl.lBMessageHope(), org.objectweb.joram.mom.dest.QueueImpl.monitGetPendingMessages(), and org.objectweb.joram.mom.dest.QueueImpl.wakeUpNot().

Here is the call graph for this function:

int org.objectweb.joram.mom.dest.QueueImpl.getPendingMessageCount (  ) 

Returns the number of pending messages in the queue.

Returns:
The number of pending messages.

Implements org.objectweb.joram.mom.dest.QueueImplMBean.

Definition at line 262 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.messages.

Referenced by org.objectweb.joram.mom.dest.QueueImpl.getNbMsgsReceiveSinceCreation(), org.objectweb.joram.mom.dest.QueueImpl.getStatisticHashtable(), org.objectweb.joram.mom.dest.ClusterQueueImpl.lBMessageHope(), org.objectweb.joram.mom.dest.ClusterQueueImpl.postProcess(), org.objectweb.joram.mom.dest.ClusterQueueImpl.receiveRequest(), and org.objectweb.joram.mom.dest.ClusterQueueImpl.wakeUpNot().

int org.objectweb.joram.mom.dest.QueueImpl.getDeliveredMessageCount (  ) 

Returns the number of messages delivered and waiting for acknowledge.

Returns:
The number of messages delivered.

Implements org.objectweb.joram.mom.dest.QueueImplMBean.

Definition at line 277 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.deliveredMsgs.

int org.objectweb.joram.mom.dest.QueueImpl.getNbMaxMsg (  ) 

Returns the maximum number of message for the destination. If the limit is unset the method returns -1.

Returns:
the maximum number of message for subscription if set; -1 otherwise.

Implements org.objectweb.joram.mom.dest.QueueImplMBean.

Definition at line 294 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.nbMaxMsg.

void org.objectweb.joram.mom.dest.QueueImpl.setNbMaxMsg ( int  nbMaxMsg  ) 

Sets the maximum number of message for the destination.

Parameters:
nbMaxMsg the maximum number of message (-1 set no limit).

Implements org.objectweb.joram.mom.dest.QueueImplMBean.

Definition at line 303 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.DestinationImpl.setSave().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.initialize ( boolean  firstTime  )  [virtual]

Initializes the destination.

Parameters:
firstTime true when first called by the factory

Implements org.objectweb.joram.mom.dest.DestinationImpl.

Reimplemented in com.scalagent.joram.mom.dest.ftp.FtpQueueImpl, com.scalagent.joram.mom.dest.mail.JavaMailQueueImpl, org.objectweb.joram.mom.dest.ClusterQueueImpl, and org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeQueueImpl.

Definition at line 335 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.addMessage(), org.objectweb.joram.mom.dest.QueueImpl.cleanWaitingRequest(), org.objectweb.joram.mom.dest.QueueImpl.consumers, org.objectweb.joram.mom.dest.QueueImpl.contexts, org.objectweb.joram.mom.messages.Message.delete(), org.objectweb.joram.mom.dest.QueueImpl.deliveredMsgs, org.objectweb.joram.mom.messages.Message.getIdentifier(), org.objectweb.joram.mom.dest.QueueImpl.getMsgTxPrefix(), org.objectweb.joram.mom.dest.DestinationImpl.isLocal(), org.objectweb.joram.mom.dest.QueueImpl.logger, org.objectweb.joram.mom.dest.QueueImpl.messages, org.objectweb.joram.mom.dest.QueueImpl.receiving, and org.objectweb.joram.mom.dest.QueueImpl.toString().

Here is the call graph for this function:

String org.objectweb.joram.mom.dest.QueueImpl.toString (  ) 

Returns a string representation of this destination.

Implements org.objectweb.joram.mom.dest.DestinationImplMBean.

Reimplemented in com.scalagent.joram.mom.dest.ftp.FtpQueueImpl, com.scalagent.joram.mom.dest.mail.JavaMailQueueImpl, org.objectweb.joram.mom.dest.ClusterQueueImpl, and org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeQueueImpl.

Definition at line 377 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.DestinationImpl.getId(), and fr.dyade.aaa.agent.AgentId.toString().

Referenced by org.objectweb.joram.mom.dest.QueueImpl.doDeleteNot(), org.objectweb.joram.mom.dest.QueueImpl.getMsgTxPrefix(), and org.objectweb.joram.mom.dest.QueueImpl.initialize().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.wakeUpNot ( WakeUpNot  not  ) 

wake up, and cleans the queue.

Reimplemented in org.objectweb.joram.mom.dest.ClusterQueueImpl.

Definition at line 384 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.cleanPendingMessage(), org.objectweb.joram.mom.dest.QueueImpl.cleanWaitingRequest(), and org.objectweb.joram.mom.util.DMQManager.sendToDMQ().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.setThreshRequest ( AgentId  from,
SetThreshRequest  req 
) throws AccessException

Method implementing the reaction to a SetThreshRequest instance setting the threshold value for this queue.

Exceptions:
AccessException If the requester is not the administrator.

Definition at line 400 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.DestinationImpl.forward(), org.objectweb.joram.mom.dest.DestinationImpl.getId(), org.objectweb.joram.mom.dest.DestinationImpl.isAdministrator(), org.objectweb.joram.mom.dest.QueueImpl.logger, org.objectweb.joram.mom.dest.DestinationImpl.setSave(), and org.objectweb.joram.mom.dest.DestinationImpl.strbuf.

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.setNbMaxMsgRequest ( AgentId  from,
SetNbMaxMsgRequest  req 
) throws AccessException

Method implementing the reaction to a SetNbMaxMsgRequest instance setting the NbMaxMsg value for this queue.

Exceptions:
AccessException If the requester is not the administrator.

Definition at line 426 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.DestinationImpl.forward(), org.objectweb.joram.mom.dest.DestinationImpl.getId(), org.objectweb.joram.mom.dest.DestinationImpl.isAdministrator(), org.objectweb.joram.mom.dest.QueueImpl.logger, org.objectweb.joram.mom.dest.QueueImpl.nbMaxMsg, and org.objectweb.joram.mom.dest.DestinationImpl.strbuf.

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.monitGetDMQSettings ( AgentId  from,
Monit_GetDMQSettings  not 
) throws AccessException

Overrides this DestinationImpl method for sending back the threshold along with the DMQ id.

Exceptions:
AccessException If the requester is not the administrator.

Reimplemented from org.objectweb.joram.mom.dest.DestinationImpl.

Definition at line 449 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.DestinationImpl.dmqId, org.objectweb.joram.mom.dest.DestinationImpl.forward(), org.objectweb.joram.mom.dest.DestinationImpl.isAdministrator(), and fr.dyade.aaa.agent.AgentId.toString().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.monitGetPendingMessages ( AgentId  from,
Monit_GetPendingMessages  not 
) throws AccessException

Method implementing the reaction to a Monit_GetPendingMessages notification requesting the number of pending messages.

Exceptions:
AccessException If the requester is not the administrator.

Definition at line 466 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.cleanPendingMessage(), org.objectweb.joram.mom.dest.DestinationImpl.forward(), org.objectweb.joram.mom.dest.DestinationImpl.isAdministrator(), org.objectweb.joram.mom.dest.QueueImpl.messages, and org.objectweb.joram.mom.util.DMQManager.sendToDMQ().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.monitGetPendingRequests ( AgentId  from,
Monit_GetPendingRequests  not 
) throws AccessException

Method implementing the reaction to a Monit_GetPendingRequests notification requesting the number of pending requests.

Exceptions:
AccessException If the requester is not the administrator.

Definition at line 486 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.DestinationImpl.forward(), org.objectweb.joram.mom.dest.QueueImpl.getWaitingRequestCount(), and org.objectweb.joram.mom.dest.DestinationImpl.isAdministrator().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.monitGetNbMaxMsg ( AgentId  from,
Monit_GetNbMaxMsg  not 
) throws AccessException

Method implementing the reaction to a Monit_GetNbMaxMsg notification requesting the number max of messages in this queue.

Exceptions:
AccessException If the requester is not the administrator.

Definition at line 500 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.DestinationImpl.forward(), org.objectweb.joram.mom.dest.DestinationImpl.isAdministrator(), and org.objectweb.joram.mom.dest.QueueImpl.nbMaxMsg.

Here is the call graph for this function:

Hashtable org.objectweb.joram.mom.dest.QueueImpl.getStatisticHashtable (  )  [protected]

Overrides the destination method to add pending message counter

Reimplemented from org.objectweb.joram.mom.dest.DestinationImpl.

Definition at line 510 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.getPendingMessageCount().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.receiveRequest ( AgentId  from,
ReceiveRequest  not 
) throws AccessException

Method implementing the reaction to a ReceiveRequest instance, requesting a message.

This method stores the request and launches a delivery sequence.

Exceptions:
AccessException If the sender is not a reader.

Reimplemented in org.objectweb.joram.mom.dest.ClusterQueueImpl, and org.objectweb.joram.mom.dest.jmsbridge.JMSBridgeQueueImpl.

Definition at line 524 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.cleanWaitingRequest(), org.objectweb.joram.mom.dest.QueueImpl.deliverMessages(), org.objectweb.joram.mom.dest.DestinationImpl.forward(), org.objectweb.joram.mom.dest.DestinationImpl.isLocal(), org.objectweb.joram.mom.dest.DestinationImpl.isReader(), org.objectweb.joram.mom.dest.QueueImpl.logger, org.objectweb.joram.mom.dest.QueueImpl.requests, org.objectweb.joram.mom.notifications.AbstractNotification.setPersistent(), and org.objectweb.joram.mom.dest.DestinationImpl.setSave().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.browseRequest ( AgentId  from,
BrowseRequest  not 
) throws AccessException

Method implementing the queue reaction to a BrowseRequest instance, requesting an enumeration of the messages on the queue.

The method sends a BrowseReply back to the client. Expired messages are sent to the DMQ.

Exceptions:
AccessException If the requester is not a reader.

Definition at line 578 of file QueueImpl.java.

References org.objectweb.joram.mom.notifications.BrowseReply.addMessage(), org.objectweb.joram.mom.dest.QueueImpl.cleanPendingMessage(), org.objectweb.joram.mom.dest.DestinationImpl.forward(), org.objectweb.joram.mom.dest.DestinationImpl.isReader(), org.objectweb.joram.mom.dest.QueueImpl.logger, org.objectweb.joram.mom.dest.QueueImpl.messages, and org.objectweb.joram.mom.util.DMQManager.sendToDMQ().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.acknowledgeRequest ( AgentId  from,
AcknowledgeRequest  not 
)

Method implementing the reaction to an AcknowledgeRequest instance, requesting messages to be acknowledged.

Definition at line 613 of file QueueImpl.java.

References org.objectweb.joram.mom.notifications.AcknowledgeRequest.getIds().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.denyRequest ( AgentId  from,
DenyRequest  not 
)

Method implementing the reaction to a DenyRequest instance, requesting messages to be denied.

This method denies the messages and launches a delivery sequence. Messages considered as undeliverable are sent to the DMQ.

Definition at line 646 of file QueueImpl.java.

References org.objectweb.joram.mom.util.DMQManager.addDeadMessage(), org.objectweb.joram.mom.dest.QueueImpl.consumers, org.objectweb.joram.mom.dest.QueueImpl.contexts, org.objectweb.joram.mom.messages.Message.delete(), org.objectweb.joram.mom.dest.QueueImpl.deliveredMsgs, org.objectweb.joram.mom.dest.QueueImpl.deliverMessages(), org.objectweb.joram.mom.dest.DestinationImpl.dmqId, fr.dyade.aaa.agent.AgentId.equals(), org.objectweb.joram.mom.notifications.AbstractNotification.getClientContext(), org.objectweb.joram.mom.messages.Message.getFullMessage(), org.objectweb.joram.mom.dest.DestinationImpl.getId(), org.objectweb.joram.mom.notifications.DenyRequest.getIds(), org.objectweb.joram.mom.dest.QueueImpl.isUndeliverable(), org.objectweb.joram.mom.dest.QueueImpl.logger, org.objectweb.joram.mom.dest.DestinationImpl.nbMsgsSentToDMQSinceCreation, org.objectweb.joram.mom.util.DMQManager.sendToDMQ(), org.objectweb.joram.mom.messages.Message.setRedelivered(), org.objectweb.joram.mom.dest.DestinationImpl.setSave(), and org.objectweb.joram.mom.dest.QueueImpl.storeMessageHeader().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.doRightRequest ( SetRightRequest  not  )  [protected, virtual]

Method specifically processing a SetRightRequest instance.

When a reader is removed, and receive requests of this reader are still on the queue, they are replied to by an ExceptionReply.

Implements org.objectweb.joram.mom.dest.DestinationImpl.

Definition at line 877 of file QueueImpl.java.

References fr.dyade.aaa.agent.AgentId.equals(), org.objectweb.joram.mom.dest.DestinationImpl.forward(), org.objectweb.joram.mom.notifications.SetRightRequest.getClient(), org.objectweb.joram.mom.notifications.SetRightRequest.getRight(), org.objectweb.joram.mom.dest.DestinationImpl.isReader(), org.objectweb.joram.mom.dest.DestinationImpl.postProcess(), org.objectweb.joram.mom.dest.DestinationImpl.preProcess(), org.objectweb.joram.mom.dest.DestinationImpl.READ, org.objectweb.joram.mom.notifications.ReceiveRequest.requester, org.objectweb.joram.mom.dest.QueueImpl.requests, and org.objectweb.joram.mom.dest.DestinationImpl.setSave().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.doClientMessages ( AgentId  from,
ClientMessages  not 
) [protected, virtual]

Method specifically processing a ClientMessages instance.

This method stores the messages and launches a delivery sequence.

Implements org.objectweb.joram.mom.dest.DestinationImpl.

Definition at line 930 of file QueueImpl.java.

References org.objectweb.joram.mom.dest.QueueImpl.arrivalsCounter, org.objectweb.joram.mom.dest.QueueImpl.deliverMessages(), org.objectweb.joram.mom.notifications.ClientMessages.getMessages(), org.objectweb.joram.mom.messages.Message.order, org.objectweb.joram.mom.dest.DestinationImpl.postProcess(), org.objectweb.joram.mom.dest.DestinationImpl.preProcess(), org.objectweb.joram.mom.dest.QueueImpl.receiving, org.objectweb.joram.mom.dest.DestinationImpl.setSave(), and org.objectweb.joram.mom.dest.QueueImpl.storeMessage().

Referenced by org.objectweb.joram.mom.dest.ClusterQueueImpl.lBCycleLife(), and org.objectweb.joram.mom.dest.ClusterQueueImpl.lBMessageGive().

Here is the call graph for this function:

void org.objectweb.joram.mom.dest.QueueImpl.doUnknownAgent ( UnknownAgent  uA  )  [protected, virtual]

Method specifically processing an UnknownAgent instance.

The specific processing is done when a QueueMsgReply was sent to a requester which does not exist anymore. In that case, the messages sent to this requester and not yet acknowledged are marked as "denied" for delivery to an other requester, and a new delivery sequence is launched. Messages considered as undeliverable are removed and sent to the DMQ.

Implements org.objectweb.joram.mom.dest.DestinationImpl.

Definition at line 966 of file QueueImpl.java.

References org.objectweb.joram.mom.util.DMQManager.addDeadMessage(), fr.dyade.aaa.agent.UnknownAgent.agent, org.objectweb.joram.mom.dest.QueueImpl.consumers, org.objectweb.joram.mom.dest.QueueImpl.contexts, org.objectweb.joram.mom.messages.Message.delete(), org.objectweb.joram.mom.dest.QueueImpl.deliveredMsgs, org.objectweb.joram.mom.dest.QueueImpl.deliverMessages(), fr.dyade.aaa.agent.AgentId.equals(), org.objectweb.joram.mom.messages.Message.getFullMessage(), org.objectweb.joram.mom.dest.DestinationImpl.getId(), org.objectweb.joram.mom.messages.Message.getIdentifier(), org.objectweb.joram.mom.dest.QueueImpl.isUndeliverable(), org.objectweb.joram.mom.dest.QueueImpl.logger, org.objectweb.joram.mom.dest.DestinationImpl.nbMsgsSentToDMQSinceCreation, fr.dyade.aaa.agent.UnknownAgent.not, org.objectweb.joram.mom.util.DMQManager.sendToDMQ(), org.objectweb.joram.mom.messages.Message.setRedelivered(), org.objectweb.joram.mom.dest.DestinationImpl.setSave(), and org.objectweb.joram.mom.dest.QueueImpl.storeMessageHeader().

Here is the call graph for this function: