Class VendorImplementationImp

    • Field Detail

      • log

        protected transient org.slf4j.Logger log
    • Constructor Detail

      • VendorImplementationImp

        public VendorImplementationImp()
    • Method Detail

      • createQueueReceiver

        public javax.jms.MessageConsumer createQueueReceiver​(java.lang.String queue,
                                                             java.lang.String filter,
                                                             JmsActorConfig c)
                                                      throws javax.jms.JMSException
        Description copied from interface: VendorImplementationBase
        Create or otherwise get a MessageConsumer
        Specified by:
        createQueueReceiver in interface VendorImplementationBase
        Parameters:
        queue - the Queue
        filter - the filter expression if any
        c - the configuration.
        Throws:
        javax.jms.JMSException
      • createTopicSubscriber

        public javax.jms.MessageConsumer createTopicSubscriber​(java.lang.String topic,
                                                               java.lang.String filter,
                                                               java.lang.String subscriptionId,
                                                               JmsActorConfig c)
                                                        throws javax.jms.JMSException
        Description copied from interface: VendorImplementationBase
        Create or otherwise get a TopicSubscriber.
        Specified by:
        createTopicSubscriber in interface VendorImplementationBase
        Parameters:
        topic - the topic
        filter - the filter expression if any
        subscriptionId - the subscriptionID for durable subscribers
        c - the configuration
        Throws:
        javax.jms.JMSException
      • createSession

        public javax.jms.Session createSession​(javax.jms.Connection c,
                                               boolean transacted,
                                               int acknowledgeMode)
                                        throws javax.jms.JMSException
        Description copied from interface: VendorImplementationBase
        Create or otherwise get a Session
        Specified by:
        createSession in interface VendorImplementationBase
        Parameters:
        c - the Connection
        transacted - whether or not the session is transacted
        Returns:
        acknowledgeMode the acknowledgement mode
        Throws:
        javax.jms.JMSException - if there were any JMS related exceptions
      • applyVendorSessionProperties

        public void applyVendorSessionProperties​(javax.jms.Session s)
                                          throws javax.jms.JMSException
        Empty implementation that does not apply any session properties. Concrete sub-classes should override this method.
        Throws:
        javax.jms.JMSException
      • createDestination

        public JmsDestination createDestination​(java.lang.String destination,
                                                JmsActorConfig c)
                                         throws javax.jms.JMSException
        Description copied from interface: VendorImplementationBase
        Create either a Topic or Queue based on a RFC6167 style destination.

        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
        • jms:topic:MyTopicName?replyToName=StaticReplyTo

        In addition to the standard deliveryMode, timeToLive, priority, replyToName, there are also some custom parameters when dealing with topics.

        • 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
        • noLocal - which corresponds to the Session.createConsumer(javax.jms.Destination, String, boolean) noLocal setting. This defaults to false, if not specified.
        Specified by:
        createDestination in interface VendorImplementationBase
        Parameters:
        destination - a RFC6167 style destination.
        c - configuration
        Returns:
        a JmsDestination.
        Throws:
        javax.jms.JMSException - wrapping other exceptions.