Class VendorImplementationImp
- java.lang.Object
-
- com.adaptris.core.jms.VendorImplementationImp
-
- All Implemented Interfaces:
ComponentLifecycleExtension,ConnectionComparator<VendorImplementationBase>,VendorImplementation,VendorImplementationBase
- Direct Known Subclasses:
BaseJndiImplementation,UrlVendorImplementation
public abstract class VendorImplementationImp extends java.lang.Object implements VendorImplementation
Partial implementation with common or default behaviour.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.slf4j.Loggerlog
-
Constructor Summary
Constructors Constructor Description VendorImplementationImp()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidapplyVendorSessionProperties(javax.jms.Session s)Empty implementation that does not apply any session properties.javax.jms.MessageConsumercreateConsumer(JmsDestination d, java.lang.String selector, JmsActorConfig c)Create a message consumer for the given destination and filter expression.JmsDestinationcreateDestination(java.lang.String destination, JmsActorConfig c)Create either aTopicorQueuebased on a RFC6167 style destination.javax.jms.QueuecreateQueue(java.lang.String name, JmsActorConfig c)Create or otherwise obtain aQueue.javax.jms.MessageConsumercreateQueueReceiver(java.lang.String queue, java.lang.String filter, JmsActorConfig c)Create or otherwise get a MessageConsumerjavax.jms.SessioncreateSession(javax.jms.Connection c, boolean transacted, int acknowledgeMode)Create or otherwise get a Sessionjavax.jms.TopiccreateTopic(java.lang.String name, JmsActorConfig c)Create or otherwise obtain aTopic.javax.jms.MessageConsumercreateTopicSubscriber(java.lang.String topic, java.lang.String filter, java.lang.String subscriptionId, JmsActorConfig c)Create or otherwise get a TopicSubscriber.voidprepare()Prepare for initialisation.java.lang.StringretrieveBrokerDetailsForLogging()Returns the broker details used to create the underlyingConnectionFactory.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.adaptris.core.jms.ConnectionComparator
connectionEquals
-
Methods inherited from interface com.adaptris.core.jms.VendorImplementation
createConnection, createConnectionFactory
-
-
-
-
Method Detail
-
prepare
public void prepare() throws CoreExceptionDescription copied from interface:ComponentLifecycleExtensionPrepare for initialisation.- Specified by:
preparein interfaceComponentLifecycleExtension- Throws:
CoreException
-
retrieveBrokerDetailsForLogging
public java.lang.String retrieveBrokerDetailsForLogging()
Description copied from interface:VendorImplementationBaseReturns the broker details used to create the underlying
ConnectionFactory. This is delegated to theVendorImplementationbecause it may over-ride the broker details configured inJmsConnection.- Specified by:
retrieveBrokerDetailsForLoggingin interfaceVendorImplementationBase- Returns:
- the broker details used to create the underlying
ConnectionFactory - See Also:
#retrieveBrokerDetailsForLogging()
-
createQueue
public javax.jms.Queue createQueue(java.lang.String name, JmsActorConfig c) throws javax.jms.JMSExceptionDescription copied from interface:VendorImplementationBaseCreate or otherwise obtain a
Queue.- Specified by:
createQueuein interfaceVendorImplementationBase- Parameters:
name- the name of the queuec- the Configuration- Returns:
- a
Queueobject - Throws:
javax.jms.JMSException- if any occur- See Also:
VendorImplementationBase.createQueue(java.lang.String, JmsActorConfig)
-
createTopic
public javax.jms.Topic createTopic(java.lang.String name, JmsActorConfig c) throws javax.jms.JMSExceptionDescription copied from interface:VendorImplementationBaseCreate or otherwise obtain a
Topic.- Specified by:
createTopicin interfaceVendorImplementationBase- Parameters:
name- the name of the topicc- the Configuration- Returns:
- a
Topicobject - Throws:
javax.jms.JMSException- if any occur- See Also:
VendorImplementationBase.createTopic(java.lang.String, JmsActorConfig)
-
createQueueReceiver
public javax.jms.MessageConsumer createQueueReceiver(java.lang.String queue, java.lang.String filter, JmsActorConfig c) throws javax.jms.JMSExceptionDescription copied from interface:VendorImplementationBaseCreate or otherwise get a MessageConsumer- Specified by:
createQueueReceiverin interfaceVendorImplementationBase- Parameters:
queue- the Queuefilter- the filter expression if anyc- the configuration.- Throws:
javax.jms.JMSException
-
createConsumer
public javax.jms.MessageConsumer createConsumer(JmsDestination d, java.lang.String selector, JmsActorConfig c) throws javax.jms.JMSException
Description copied from interface:VendorImplementationBaseCreate 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 appropriateSessionmethods.- Specified by:
createConsumerin interfaceVendorImplementationBase- Parameters:
d- the destinationselector- the message selectorc- configuration- Returns:
- a
MessageConsumer - Throws:
javax.jms.JMSException- wrapping other exceptions.
-
createTopicSubscriber
public javax.jms.MessageConsumer createTopicSubscriber(java.lang.String topic, java.lang.String filter, java.lang.String subscriptionId, JmsActorConfig c) throws javax.jms.JMSExceptionDescription copied from interface:VendorImplementationBaseCreate or otherwise get a TopicSubscriber.- Specified by:
createTopicSubscriberin interfaceVendorImplementationBase- Parameters:
topic- the topicfilter- the filter expression if anysubscriptionId- the subscriptionID for durable subscribersc- the configuration- Throws:
javax.jms.JMSException
-
createSession
public javax.jms.Session createSession(javax.jms.Connection c, boolean transacted, int acknowledgeMode) throws javax.jms.JMSExceptionDescription copied from interface:VendorImplementationBaseCreate or otherwise get a Session- Specified by:
createSessionin interfaceVendorImplementationBase- 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
-
applyVendorSessionProperties
public void applyVendorSessionProperties(javax.jms.Session s) throws javax.jms.JMSExceptionEmpty 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:VendorImplementationBaseCreate either aTopicorQueuebased 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=myIdwould return aJmsDestination.subscriptionId()ofmyIdnoLocal- which corresponds to theSession.createConsumer(javax.jms.Destination, String, boolean)noLocal setting. This defaults to false, if not specified.
- Specified by:
createDestinationin interfaceVendorImplementationBase- Parameters:
destination- a RFC6167 style destination.c- configuration- Returns:
- a
JmsDestination. - Throws:
javax.jms.JMSException- wrapping other exceptions.
-
-