Class JmsProducer

  • All Implemented Interfaces:
    AdaptrisComponent, AdaptrisMessageProducer, AdaptrisMessageSender, AdaptrisMessageWorker, ComponentLifecycle, ComponentLifecycleExtension, JmsActorConfig, MessageEventGenerator
    Direct Known Subclasses:
    JmsAsyncProducer

    @ComponentProfile(summary="Place message on a JMS queue or topic",
                      tag="producer,jms",
                      recommended=JmsConnection.class)
    public class JmsProducer
    extends JmsProducerImpl
    JMS Producer implementation that can target queues or topics via an RFC6167 style destination.

    This differs from the standard PtpProducer and PasProducer in that it supports a destination that is specified in RFC6167 style. For instance jms:queue:myQueueName will produce to a queue called myQueueName and jms:topic:myTopicName to a topic called myTopicName

    While RFC6167 defines the ability to use jndi to lookup the (as part of the 'jndi' variant section); this is not supported. The standard deliveryMode, timeToLive, priority, replyToName properties are supported. If not specified, then they will be inherited from the producers configuration. For instance you could have the following destinations:

    • jms:queue:MyQueueName
    • jms:topic:MyTopicName
    • jms:queue:MyQueueName?replyToName=StaticReplyTo&priority=1&timeToLive=1234
    • jms:topic:MyTopicName?replyToName=StaticReplyTo

    As the RFC6167 string can specify priority, timeToLive and deliveryMode; this producer defaults JmsProducerImpl.getPerMessageProperties() to be true.

    In the adapter configuration file this class is aliased as jms-producer which is the preferred alternative to the fully qualified classname when building your configuration.