Interface VendorImplementationBase
- All Superinterfaces:
ComponentLifecycleExtension
,ConnectionComparator<VendorImplementationBase>
- All Known Subinterfaces:
VendorImplementation
- All Known Implementing Classes:
AdvancedActiveMqImplementation
,BaseJndiImplementation
,BasicActiveMqImplementation
,CachedDestinationJndiImplementation
,StandardJndiImplementation
,UrlVendorImplementation
,VendorImplementationImp
-
Method Summary
Modifier and TypeMethodDescriptionjavax.jms.MessageConsumer
createConsumer
(JmsDestination dest, String msgSelector, JmsActorConfig c) Create a message consumer for the given destination and filter expression.createDestination
(String destination, JmsActorConfig c) Create either aTopic
orQueue
based on a RFC6167 style destination.javax.jms.Queue
createQueue
(String name, JmsActorConfig c) Create or otherwise obtain aQueue
.javax.jms.MessageConsumer
createQueueReceiver
(String queue, String filter, JmsActorConfig c) Create or otherwise get a MessageConsumerjavax.jms.Session
createSession
(javax.jms.Connection c, boolean transacted, int acknowledgeMode) Create or otherwise get a Sessionjavax.jms.Topic
createTopic
(String name, JmsActorConfig c) Create or otherwise obtain aTopic
.javax.jms.MessageConsumer
createTopicSubscriber
(String topic, String filter, String subscriptionID, JmsActorConfig c) Create or otherwise get a TopicSubscriber.Returns the broker details used to create the underlyingConnectionFactory
.Methods inherited from interface com.adaptris.core.ComponentLifecycleExtension
prepare
Methods inherited from interface com.adaptris.core.jms.ConnectionComparator
connectionEquals
-
Method Details
-
retrieveBrokerDetailsForLogging
String retrieveBrokerDetailsForLogging()Returns the broker details used to create the underlying
ConnectionFactory
. This is delegated to theVendorImplementation
because it may over-ride the broker details configured inJmsConnection
.- Returns:
- the broker details used to create the underlying
ConnectionFactory
-
createQueue
Create or otherwise obtain a
Queue
.- Parameters:
name
- the name of the queuec
- the Configuration- Returns:
- a
Queue
object - Throws:
javax.jms.JMSException
- if any occur
-
createTopic
Create or otherwise obtain a
Topic
.- Parameters:
name
- the name of the topicc
- the Configuration- Returns:
- a
Topic
object - Throws:
javax.jms.JMSException
- if any occur
-
createDestination
JmsDestination createDestination(String destination, JmsActorConfig c) throws javax.jms.JMSException Create either aTopic
orQueue
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 aJmsDestination.subscriptionId()
ofmyId
noLocal
- which corresponds to theSession.createConsumer(javax.jms.Destination, String, boolean)
noLocal setting. This defaults to false, if not specified.
- Parameters:
destination
- a RFC6167 style destination.c
- configuration- Returns:
- a
JmsDestination
. - Throws:
javax.jms.JMSException
- wrapping other exceptions.- Since:
- 3.0.4
-
createConsumer
javax.jms.MessageConsumer createConsumer(JmsDestination dest, String msgSelector, JmsActorConfig c) throws javax.jms.JMSException Create a message consumer for the given destination and filter expression.If the
JmsDestination.destinationType()
is aJmsDestination.DestinationType.TOPIC
, andJmsDestination.subscriptionId()
is not blank, then a durable subscriber is created otherwise a standard consumer is created. AlsoJmsDestination.noLocal()
is passed through to the appropriateSession
methods.- Parameters:
dest
- the destinationmsgSelector
- the message selectorc
- configuration- Returns:
- a
MessageConsumer
- Throws:
javax.jms.JMSException
- wrapping other exceptions.- Since:
- 3.0.4
-
createQueueReceiver
javax.jms.MessageConsumer createQueueReceiver(String queue, String filter, JmsActorConfig c) throws javax.jms.JMSException Create or otherwise get a MessageConsumer- Parameters:
queue
- the Queuefilter
- the filter expression if anyc
- the configuration.- Throws:
javax.jms.JMSException
-
createTopicSubscriber
javax.jms.MessageConsumer createTopicSubscriber(String topic, String filter, String subscriptionID, JmsActorConfig c) throws javax.jms.JMSException Create or otherwise get a TopicSubscriber.- Parameters:
topic
- the topicfilter
- the filter expression if anysubscriptionID
- the subscriptionID for durable subscribersc
- the configuration- Throws:
javax.jms.JMSException
-
createSession
javax.jms.Session createSession(javax.jms.Connection c, boolean transacted, int acknowledgeMode) throws javax.jms.JMSException Create or otherwise get a Session- Parameters:
c
- the Connectiontransacted
- whether or not the session is transacted- Returns:
- acknowledgeMode the acknowledgement mode
- Throws:
javax.jms.JMSException
- if there were any JMS related exceptions
-