org.objectweb.joram.mom.dest
Class BridgeQueueImpl

java.lang.Object
  extended byorg.objectweb.joram.mom.dest.DestinationImpl
      extended byorg.objectweb.joram.mom.dest.QueueImpl
          extended byorg.objectweb.joram.mom.dest.BridgeQueueImpl
All Implemented Interfaces:
java.io.Serializable

public class BridgeQueueImpl
extends QueueImpl

The BridgeQueueImpl class implements a specific queue which forwards the messages it receives to a foreign JMS destination, and gets the messages it is requested to deliver from the same foreign destination.

This queue is in fact a bridge linking JORAM and a foreign JMS server, and which is accessible through the PTP communication mode.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.objectweb.joram.mom.dest.QueueImpl
arrivalsCounter, consumers, contexts, deliveredMsgs, messages, persistenceModule, receiving, requests
 
Fields inherited from class org.objectweb.joram.mom.dest.DestinationImpl
adminId, clients, destId, dmqId, freeReading, freeWriting, READ, READWRITE, WRITE
 
Constructor Summary
BridgeQueueImpl(AgentId destId, AgentId adminId)
          Constructs a BridgeQueueImpl instance.
 
Method Summary
protected  void doProcess(ClientMessages not)
          Method specializing the processing of a ClientMessages instance.
protected  void doProcess(DeleteNot not)
          Method specifically processing a fr.dyade.aaa.agent.DeleteNot instance.
protected  void doReact(AgentId from, ReceiveRequest not)
          Method specializing the reaction to a ReceiveRequest instance, requesting a message.
protected  void doReact(BridgeAckNot not)
          Reacts to BridgeAckNot notifications holding the identifier of a message successfuly delivered to the foreign JMS server.
protected  void doReact(BridgeDeliveryNot not)
          Reacts to BridgeDeliveryNot notifications holding a message received from the foreign JMS server.
 void init(java.util.Properties prop)
          Initiales the queue's JMS module.
 void react(AgentId from, Notification not)
          Specializes this QueueImpl method for processing the specific bridge notifications.
 java.lang.String toString()
           
 
Methods inherited from class org.objectweb.joram.mom.dest.QueueImpl
deliverMessages, doProcess, doProcess, doReact, doReact, doReact, doReact, doReact, doReact, doReact, isUndeliverable, messageDelivered, messageRemoved, specialProcess, storeMessage
 
Methods inherited from class org.objectweb.joram.mom.dest.DestinationImpl
canBeDeleted, doReact, doReact, doReact, doReact, doReact, doReact, doReact, doReact, doReact, isAdministrator, isReader, isWriter, processSetRight, sendToDMQ, specialAdminProcess
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BridgeQueueImpl

public BridgeQueueImpl(AgentId destId,
                       AgentId adminId)
Constructs a BridgeQueueImpl instance.

Parameters:
destId - Identifier of the agent hosting the queue.
adminId - Identifier of the administrator of the queue.
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class QueueImpl

init

public void init(java.util.Properties prop)
Initiales the queue's JMS module.

Throws:
java.lang.IllegalStateException - If the provided JMS properties are invalid.

react

public void react(AgentId from,
                  Notification not)
           throws UnknownNotificationException
Specializes this QueueImpl method for processing the specific bridge notifications.

Overrides:
react in class QueueImpl
Throws:
UnknownNotificationException - When receiving an unexpected notification.

doReact

protected void doReact(BridgeDeliveryNot not)
Reacts to BridgeDeliveryNot notifications holding a message received from the foreign JMS server.


doReact

protected void doReact(BridgeAckNot not)
Reacts to BridgeAckNot notifications holding the identifier of a message successfuly delivered to the foreign JMS server.


doReact

protected void doReact(AgentId from,
                       ReceiveRequest not)
                throws AccessException
Method specializing the reaction to a ReceiveRequest instance, requesting a message.

This method stores the request and requests a message through the JMS interface.

Overrides:
doReact in class QueueImpl
Throws:
AccessException - If the sender is not a reader.

doProcess

protected void doProcess(ClientMessages not)
Method specializing the processing of a ClientMessages instance.

This method sends the messages to the foreign JMS destination.

Overrides:
doProcess in class QueueImpl

doProcess

protected void doProcess(DeleteNot not)
Method specifically processing a fr.dyade.aaa.agent.DeleteNot instance.

This method closes the JMS resources used for connecting to the foreign JMS server.

Overrides:
doProcess in class QueueImpl


Copyright ? 2004 Scalagent - All rights reserved