org.jboss.soa.esb.notification
Class NotifyTopics

java.lang.Object
  extended by org.jboss.soa.esb.notification.NotificationTarget
      extended by org.jboss.soa.esb.notification.NotifyJMS
          extended by org.jboss.soa.esb.notification.NotifyTopics

public class NotifyTopics
extends NotifyJMS

KS: It is silly we open and close the jms connection with eash request.

Author:
John Doe

Field Summary
static java.lang.String CHILD_TOPIC
           
 
Fields inherited from class org.jboss.soa.esb.notification.NotifyJMS
ATT_DEST_NAME, ATT_PROP_NAME, ATT_PROP_VALUE, CHILD_MSG_PROP, CONNECTION_FACTORY, connectionPools, contexts, deliveryModes, log, PERSISTENT_ATTR, priorities, PRIORITY_ATTR, producers, sessions, TIME_TO_LIVE_ATTR, timeToLives
 
Fields inherited from class org.jboss.soa.esb.notification.NotificationTarget
m_oParms, PRM_NOTIF_CLASS
 
Constructor Summary
NotifyTopics(ConfigTree p_oP)
           
 
Method Summary
protected  javax.jms.MessageProducer createProducer(org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool pool, java.lang.String destinationName, javax.jms.Session session, java.util.Properties environment)
          Creates a message producer specific to the subclasses implementation i.e QueueSender or TopicPublisher.
protected  javax.jms.TopicSession getSession(org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool pool)
          Get a session specific to the subclasses implementation i.e Queue or Topic.
protected  void send(javax.jms.Message p_oMsg, javax.jms.MessageProducer msgProducer)
          Abstract method - All classes that extend NotifyJMS must implement it according to their own javax.jms.Destination needs (Queue/Topic)
protected  void setTopics(ConfigTree[] configTrees)
           
 
Methods inherited from class org.jboss.soa.esb.notification.NotifyJMS
release, sendNotification, sendToAll, setJMSProperties, setJmsPropertiesStrategy, setUpProducers
 
Methods inherited from class org.jboss.soa.esb.notification.NotificationTarget
fromParams
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CHILD_TOPIC

public static final java.lang.String CHILD_TOPIC
See Also:
Constant Field Values
Constructor Detail

NotifyTopics

public NotifyTopics(ConfigTree p_oP)
             throws ConfigurationException,
                    javax.jms.JMSException,
                    org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException
Throws:
ConfigurationException
javax.jms.JMSException
org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException
Method Detail

setTopics

protected void setTopics(ConfigTree[] configTrees)
                  throws ConfigurationException,
                         javax.jms.JMSException,
                         org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException
Throws:
ConfigurationException
javax.jms.JMSException
org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException

send

protected void send(javax.jms.Message p_oMsg,
                    javax.jms.MessageProducer msgProducer)
             throws javax.jms.JMSException
Description copied from class: NotifyJMS
Abstract method - All classes that extend NotifyJMS must implement it according to their own javax.jms.Destination needs (Queue/Topic)

Specified by:
send in class NotifyJMS
Parameters:
p_oMsg - the JMS Message to send
msgProducer - the JMS Message Producer which will perform the sending
Throws:
javax.jms.JMSException - if the send was not sucessful

getSession

protected javax.jms.TopicSession getSession(org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool pool)
                                     throws javax.naming.NamingException,
                                            javax.jms.JMSException,
                                            org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException
Description copied from class: NotifyJMS
Get a session specific to the subclasses implementation i.e Queue or Topic.

Specified by:
getSession in class NotifyJMS
Returns:
Session
Throws:
javax.naming.NamingException
javax.jms.JMSException
org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException

createProducer

protected javax.jms.MessageProducer createProducer(org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool pool,
                                                   java.lang.String destinationName,
                                                   javax.jms.Session session,
                                                   java.util.Properties environment)
                                            throws javax.naming.NamingException,
                                                   javax.jms.JMSException,
                                                   org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException
Description copied from class: NotifyJMS
Creates a message producer specific to the subclasses implementation i.e QueueSender or TopicPublisher.

Specified by:
createProducer in class NotifyJMS
Returns:
MessageProducer
Throws:
javax.naming.NamingException
javax.jms.JMSException
org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException