Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.soa.esb.notification
Class NotifyJMS

    java.lang.Object
      org.jboss.soa.esb.notification.NotificationTarget
          org.jboss.soa.esb.notification.NotifyJMS

Direct Known Subclasses:
  NotifyQueues, NotifyTopics

    public abstract class NotifyJMS

extends NotificationTarget

Abstract class that defines the behaviour of NotifyQueues and NotifyTopics (and in fact any other javax.jms.Destination object), and provides common methods to derived classes

Description:

Author: Heuristica - Buenos Aires - Argentina

Version:
  1.0

Nested Class Summary
`static class` | `NotifyJMS.NativeMessage`

Field Summary
`static java.lang.String` | `ATT_DEST_NAME` Attribute name mnemonic for the att that will hold the JNDI name of the destination javax.jms.Destination object
`static java.lang.String` | `ATT_PROP_NAME` Attribute name mnemonic for the name of the message property to fill with contents of the "value" aattribute
`static java.lang.String` | `ATT_PROP_VALUE` Attribute name mnemonic for the value to assign to the corresponding message property
`static java.lang.String` | `CHILD_MSG_PROP` Element name mnemonic to search for child elements in the ConfigTree at constructor time, that will hold a "name" "value" pair to be included in the JMS message header
`static java.lang.String` | `CONNECTION_FACTORY` Connection Factory JNDI name.
`protected org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool[]` | `connectionPools` The javax.jms.Connection instance used to talk to JMS
`protected int[]` | `deliveryModes` Delivery mode for JMS Messages, either DeliveryMode.PERSISTENT or DeliveryMode.NON_PERSISTENT
`protected org.apache.log4j.Logger` | `log`
`static java.lang.String` | `PERSISTENT_ATTR` Constant used in configuration
`protected int[]` | `priorities` Priorities for JMS Messages seen by this notifier
`static java.lang.String` | `PRIORITY_ATTR` Constant used in configuration
`protected javax.jms.MessageProducer[]` | `producers` Array with an instance of javax.jms.MessageProducer on each entry that will be used to send the notification at sendNotification() time
`protected javax.jms.Session[]` | `sessions` The javax.jms.Session instance used to talk to JMS
`static java.lang.String` | `TIME_TO_LIVE_ATTR` Constant used in configuration
`protected long[]` | `timeToLives` Time-to-lives for JMS Messages sen by this notifier

Fields inherited from class org.jboss.soa.esb.notification.NotificationTarget
`m_oParms, PRM_NOTIF_CLASS`

Constructor Summary
`protected` | `NotifyJMS(ConfigTree p_oP)` Constructor that will be called by child classes to perform initialization tasks that are common to all derived classes

Method Summary
`protected abstract 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 abstract 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)
`void` | `sendNotification(Message esbMessage)` Send a JMS message using p_o to fill in the message content and the list of message properties that will be added to the JMS message header fields
`protected void` | `sendToAll(javax.jms.Message p_oMsg)` Template method for sending JMS messages to destinations.
`protected void` | `setJMSProperties(Message fromESBMessage, javax.jms.Message toJMSMessage)` This method will set appropriate JMSProperties on the outgoing JMSMessage object.
`void` | `setJmsPropertiesStrategy(JMSPropertiesSetter jmsPropertiesStrategy)` Sets the strategy for handling the setting of properties on an outgoing JMS Message.
`protected void` | `setUpProducers(ConfigTree[] configTrees)` Will setup/create JMS connections, sessions, producers.

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

### log

    protected org.apache.log4j.Logger log

### CONNECTION_FACTORY

    public static final java.lang.String CONNECTION_FACTORY

  Connection Factory JNDI name.

  See Also:
    Constant Field Values

### CHILD_MSG_PROP

    public static final java.lang.String CHILD_MSG_PROP

  Element name mnemonic to search for child elements in the ConfigTree at constructor time, that will hold a "name" "value" pair to be included in the JMS message header

  See Also:
    Constant Field Values

### ATT_PROP_NAME

    public static final java.lang.String ATT_PROP_NAME

  Attribute name mnemonic for the name of the message property to fill with contents of the "value" aattribute

  See Also:
    Constant Field Values

### ATT_PROP_VALUE

    public static final java.lang.String ATT_PROP_VALUE

  Attribute name mnemonic for the value to assign to the corresponding message property

  See Also:
    Constant Field Values

### ATT_DEST_NAME

    public static final java.lang.String ATT_DEST_NAME

  Attribute name mnemonic for the att that will hold the JNDI name of the destination javax.jms.Destination object

  See Also:
    Constant Field Values

### PERSISTENT_ATTR

    public static final java.lang.String PERSISTENT_ATTR

  Constant used in configuration

  See Also:
    Constant Field Values

### PRIORITY_ATTR

    public static final java.lang.String PRIORITY_ATTR

  Constant used in configuration

  See Also:
    Constant Field Values

### TIME_TO_LIVE_ATTR

    public static final java.lang.String TIME_TO_LIVE_ATTR

  Constant used in configuration

  See Also:
    Constant Field Values

### connectionPools

    protected org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool[] connectionPools

  The javax.jms.Connection instance used to talk to JMS

### sessions

    protected javax.jms.Session[] sessions

  The javax.jms.Session instance used to talk to JMS

### producers

    protected javax.jms.MessageProducer[] producers

  Array with an instance of javax.jms.MessageProducer on each entry that will be used to send the notification at sendNotification() time

### deliveryModes

    protected int[] deliveryModes

  Delivery mode for JMS Messages, either DeliveryMode.PERSISTENT or DeliveryMode.NON_PERSISTENT

### priorities

    protected int[] priorities

  Priorities for JMS Messages seen by this notifier

### timeToLives

    protected long[] timeToLives

  Time-to-lives for JMS Messages sen by this notifier

Constructor Detail

### NotifyJMS

    protected NotifyJMS(ConfigTree p_oP)
                 throws ConfigurationException

  Constructor that will be called by child classes to perform initialization tasks that are common to all derived classes

  Parameters:
    `p_oP` - ConfigTree

    Will contain a variable number of "messageProp" child elements that will be added to messages sent to

  Throws:
    `ConfigurationException`

Method Detail

### send

    protected abstract void send(javax.jms.Message p_oMsg,
                                 javax.jms.MessageProducer msgProducer)
                          throws javax.jms.JMSException

  Abstract method - All classes that extend NotifyJMS must implement it according to their own javax.jms.Destination needs (Queue/Topic)

  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

### createProducer

    protected abstract 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

  Creates a message producer specific to the subclasses implementation i.e QueueSender or TopicPublisher.

  Parameters:
    `pool` -
    `sAtt` -
    `session` -
    `environment` -
  Returns:
    MessageProducer
  Throws:
    `javax.naming.NamingException`
    `javax.jms.JMSException`
    `org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException`

### sendNotification

    public void sendNotification(Message esbMessage)
                          throws NotificationException

  Send a JMS message using p_o to fill in the message content and the list of message properties that will be added to the JMS message header fields

  Specified by:
    `sendNotification` in class `NotificationTarget`
  Parameters:
    `esbMessage` - Object - This object or thie object's toString() method will supply contents of JMS message
  Throws:
    `NotificationException` - - invoke Exception.getMessage() at runtime for this object
  See Also:
    `CHILD_MSG_PROP`

### setJMSProperties

    protected void setJMSProperties(Message fromESBMessage,
                                    javax.jms.Message toJMSMessage)
                             throws javax.jms.JMSException

  This method will set appropriate JMSProperties on the outgoing JMSMessage object. Sublclasses can either override this method add a different behaviour, or they can set the strategy by calling `setJmsPropertiesStrategy(JMSPropertiesSetter)`. See `JMSPropertiesSetter` for more info.

  Throws:
    `javax.jms.JMSException`

### sendToAll

    protected void sendToAll(javax.jms.Message p_oMsg)
                      throws javax.jms.JMSException

  Template method for sending JMS messages to destinations. Subclasses implement send(Message, MessageProducer) which performs sending/publishing.

  Parameters:
    `p_oMsg` - the JMS Message to send.
  Throws:
    `javax.jms.JMSException` - if any of the sends fail a JMSException will be thrown. The exception will contain an error message and stacktrace for every failed send.

### setUpProducers

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

  Will setup/create JMS connections, sessions, producers.

  Parameters:
    `configTrees` -
  Throws:
    `ConfigurationException`
    `javax.jms.JMSException`
    `org.jboss.internal.soa.esb.rosetta.pooling.ConnectionException`

### setJmsPropertiesStrategy

    public void setJmsPropertiesStrategy(JMSPropertiesSetter jmsPropertiesStrategy)

  Sets the strategy for handling the setting of properties on an outgoing JMS Message.

  Parameters:
    `jmsPropertiesStrategy` - the strategy to use.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD