org.objectweb.joram.mom.dest
Class BridgeTopicImpl

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

public class BridgeTopicImpl
extends TopicImpl

The BridgeTopicImpl class implements a specific topic 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 topic is in fact a bridge linking JORAM and a foreign JMS server, and which is accessible through the Pub/Sub communication mode.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.objectweb.joram.mom.dest.TopicImpl
alreadySentLocally, fatherId, friends, selectors, subscribers
 
Fields inherited from class org.objectweb.joram.mom.dest.DestinationImpl
adminId, clients, destId, dmqId, freeReading, freeWriting, READ, READWRITE, WRITE
 
Constructor Summary
BridgeTopicImpl(AgentId destId, AgentId adminId)
          Constructs a BridgeTopicImpl instance.
 
Method Summary
protected  void doProcess(ClientMessages not)
          Method specializing the reaction to a ClientMessages instance.
protected  void doProcess(DeleteNot not)
          Method specifically processing a fr.dyade.aaa.agent.DeleteNot instance.
protected  void doReact(AgentId from, SubscribeRequest not)
          Method specializing the reaction to a SubscribeRequest instance.
protected  void doReact(AgentId from, org.objectweb.joram.mom.dest.TopicForwardNot not)
          Method specializing the reaction to a TopicForwardNot instance, carrying messages forwarded by a cluster fellow or a hierarchical son.
protected  void doReact(AgentId from, UnsubscribeRequest not)
          Method specializing the reaction to an UnsubscribeRequest instance.
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 topic's JMS module.
 void react(AgentId from, Notification not)
          Specializes this TopicImpl method for processing the specific bridge notifications.
 java.lang.String toString()
           
 
Methods inherited from class org.objectweb.joram.mom.dest.TopicImpl
doProcess, doProcess, doReact, doReact, doReact, doReact, doReact, doReact, doReact, doReact, doReact, doReact, doReact, doReact, doReact, forwardMessages, processMessages, specialProcess
 
Methods inherited from class org.objectweb.joram.mom.dest.DestinationImpl
canBeDeleted, doReact, 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

BridgeTopicImpl

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

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

toString

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

init

public void init(java.util.Properties prop)
Initiales the topic'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 TopicImpl method for processing the specific bridge notifications.

Overrides:
react in class TopicImpl
Throws:
UnknownNotificationException - If a received notification is unexpected by the topic.

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,
                       SubscribeRequest not)
                throws AccessException
Method specializing the reaction to a SubscribeRequest instance.

This method sets, if needed, a JMS listener on the foreign JMS consumer.

Overrides:
doReact in class TopicImpl
Throws:
AccessException - If the sender is not a READER.

doReact

protected void doReact(AgentId from,
                       UnsubscribeRequest not)
Method specializing the reaction to an UnsubscribeRequest instance.

This method unsets, if needed, the JMS listener on the foreign JMS consumer.

Overrides:
doReact in class TopicImpl

doReact

protected void doReact(AgentId from,
                       org.objectweb.joram.mom.dest.TopicForwardNot not)
Method specializing the reaction to a TopicForwardNot instance, carrying messages forwarded by a cluster fellow or a hierarchical son.

This method forwards the messages, if needed, to the hierarchical father, and to the foreign JMS destination.

Overrides:
doReact in class TopicImpl

doProcess

protected void doProcess(ClientMessages not)
Method specializing the reaction to a ClientMessages instance.

This method may forward the messages to the topic father if any, or to the cluster fellows if any, and to the foreign JMS destination.

Overrides:
doProcess in class TopicImpl

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 TopicImpl


Copyright ? 2004 Scalagent - All rights reserved