Class XAJmsPollingConsumer

  • All Implemented Interfaces:
    AdaptrisComponent, AdaptrisMessageConsumer, AdaptrisMessageWorker, ComponentLifecycle, ComponentLifecycleExtension, JmsActorConfig, LicensedComponent, MessageEventGenerator, StateManagedComponent

    @ComponentProfile(summary="Listen for JMS messages on the specified queue or topic",
                      tag="consumer,jms",
                      recommended=com.adaptris.xa.jms.XAJmsConnection.class)
    public class XAJmsPollingConsumer
    extends XAJmsPollingConsumerImpl
    JMS Consumer implementation that can target queues or topics via an RFC6167 style destination.

    This differs from the standard PtpConsumer and PasConsumer in that it supports a destination that is specified in RFC6167 style. For instance jms:queue:myQueueName will consume from a queue called myQueueName and jms:topic:myTopicName from 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. There is also support for subscriptionId which indicates the subscriptionId that should be used when attaching a subscriber to a topic; jms:topic:MyTopicName?subscriptionId=myId would return a JmsDestination.subscriptionId() of myId. If a subscription ID is not specified, then a durable subscriber is never created; specifying a subscription ID automatically means a durable subscriber.

    For instance you could have the following destinations:
    • jms:queue:MyQueueName
    • jms:topic:MyTopicName
    • jms:topic:MyTopicName?subscriptionId=mySubscriptionId

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