public class JmsConnector extends AbstractConnector implements ConnectionNotificationListener
JmsConnector is a JMS 1.0.2b compliant connector that can be used
by a Mule endpoint. The connector supports all JMS functionality including topics
and queues, durable subscribers, acknowledgement modes and local transactions.| Modifier and Type | Field and Description |
|---|---|
static String |
JMS |
String |
password |
String |
username |
connected, connectedSemaphore, connecting, connectionStrategy, createMultipleTransactedReceivers, DEFAULT_NUM_CONCURRENT_TX_RECEIVERS, dispatcherFactory, dispatchers, disposed, disposing, exceptionListener, initialised, logger, muleContext, name, numberOfConcurrentTransactedReceivers, receivers, requesterFactory, requesters, serviceDescriptor, serviceOverrides, sessionHandler, started, startOnConnectINT_VALUE_NOT_SETPHASE_NAMEPHASE_NAMEPHASE_NAMEPHASE_NAME| Constructor and Description |
|---|
JmsConnector() |
| Modifier and Type | Method and Description |
|---|---|
void |
close(javax.jms.MessageConsumer consumer)
Closes the MessageConsumer
|
void |
close(javax.jms.MessageProducer producer)
Closes the MessageProducer
|
void |
close(javax.jms.Session session)
Closes the MuleSession
|
void |
close(javax.jms.TemporaryQueue tempQueue)
Closes the TemporaryQueue
|
void |
close(javax.jms.TemporaryTopic tempTopic)
Closes the TemporaryTopic
|
void |
closeQuietly(javax.jms.MessageConsumer consumer)
Closes the MessageConsumer without throwing an exception (an error message is
logged instead).
|
void |
closeQuietly(javax.jms.MessageProducer producer)
Closes the MessageProducer without throwing an exception (an error message is
logged instead).
|
void |
closeQuietly(javax.jms.Session session)
Closes the MuleSession without throwing an exception (an error message is logged
instead).
|
void |
closeQuietly(javax.jms.TemporaryQueue tempQueue)
Closes the TemporaryQueue without throwing an exception (an error message is
logged instead).
|
void |
closeQuietly(javax.jms.TemporaryTopic tempTopic)
Closes the TemporaryTopic without throwing an exception (an error message is
logged instead).
|
protected javax.jms.Connection |
createConnection() |
protected void |
doConnect()
Template method where any connections should be made for the connector
|
protected void |
doDisconnect()
Template method where any connected resources used by the connector should be
disconnected
|
protected void |
doDispose()
Template method to perform any work when destroying the connectoe
|
protected void |
doInitialise() |
protected void |
doStart()
Template method to perform any work when starting the connectoe
|
protected void |
doStop()
Template method to perform any work when stopping the connectoe
|
int |
getAcknowledgementMode() |
String |
getClientId() |
javax.jms.Connection |
getConnection() |
javax.jms.ConnectionFactory |
getConnectionFactory() |
ConnectionStrategy |
getConnectionStrategy()
Getter for property 'connectionStrategy'.
|
protected javax.jms.ConnectionFactory |
getDefaultConnectionFactory()
Override this method to provide a default ConnectionFactory for a vendor-specific JMS Connector.
|
JmsSupport |
getJmsSupport() |
int |
getMaxRedelivery() |
MessageAdapter |
getMessageAdapter(Object message)
Gets a
MessageAdapter for the endpoint for the given message
(data) |
String |
getPassword() |
String |
getProtocol() |
protected Object |
getReceiverKey(Service service,
InboundEndpoint endpoint)
The method determines the key used to store the receiver against.
|
RedeliveryHandlerFactory |
getRedeliveryHandlerFactory() |
ReplyToHandler |
getReplyToHandler()
Getter for property 'replyToHandler'.
|
javax.jms.Session |
getSession(boolean transacted,
boolean topic) |
javax.jms.Session |
getSession(ImmutableEndpoint endpoint) |
javax.jms.Session |
getSessionFromTransaction() |
String |
getSpecification() |
JmsTopicResolver |
getTopicResolver()
Getter for property 'topicResolver'.
|
String |
getUsername() |
boolean |
isCacheJmsSessions() |
boolean |
isDurable() |
boolean |
isEagerConsumer()
Getter for property 'eagerConsumer'.
|
boolean |
isHonorQosHeaders()
Gets the value of
honorQosHeaders property. |
boolean |
isNoLocal() |
boolean |
isPersistentDelivery() |
boolean |
isRecoverJmsConnections() |
boolean |
isRemoteSyncEnabled() |
void |
onNotification(ServerNotification notification) |
javax.jms.Message |
preProcessMessage(javax.jms.Message message,
javax.jms.Session session)
This method may be overridden in order to apply pre-processing to the message
as soon as it arrives.
|
void |
setAcknowledgementMode(int acknowledgementMode) |
void |
setCacheJmsSessions(boolean cacheJmsSessions) |
void |
setClientId(String clientId) |
protected void |
setConnection(javax.jms.Connection connection) |
void |
setConnectionFactory(javax.jms.ConnectionFactory connectionFactory) |
void |
setDurable(boolean durable) |
void |
setEagerConsumer(boolean eagerConsumer)
A value of
true will create a consumer on
connect, in contrast to lazy instantiation in the poll loop. |
void |
setHonorQosHeaders(boolean honorQosHeaders)
Sets the
honorQosHeaders property, which determines whether
JmsMessageDispatcher should honor incoming message's QoS headers
(JMSPriority, JMSDeliveryMode). |
void |
setJmsSupport(JmsSupport jmsSupport) |
void |
setMaxRedelivery(int maxRedelivery) |
void |
setNoLocal(boolean noLocal) |
void |
setPassword(String password) |
void |
setPersistentDelivery(boolean persistentDelivery) |
void |
setRecoverJmsConnections(boolean recover) |
void |
setRedeliveryHandlerFactory(RedeliveryHandlerFactory redeliveryHandlerFactory) |
void |
setSpecification(String specification) |
void |
setTopicResolver(JmsTopicResolver topicResolver)
Setter for property 'topicResolver'.
|
void |
setUsername(String username) |
boolean |
supportsProperty(String property)
This method may be overridden in case a certain JMS implementation does not
support all the standard JMS properties.
|
checkDisposed, connect, createReceiver, destroyReceiver, disconnect, dispatch, dispose, disposeDispatchers, disposeReceivers, disposeRequesters, disposeWorkManagers, exceptionThrown, fireNotification, getConnectedSemaphore, getConnectEventId, getConnectionDescription, getDefaultInboundTransformers, getDefaultOutboundTransformers, getDefaultResponseTransformers, getDispatcherFactory, getDispatcherThreadingProfile, getDispatcherWorkManager, getExceptionListener, getMaxDispatchersActive, getMaxRequestersActive, getMuleContext, getName, getNumberOfConcurrentTransactedReceivers, getOutputStream, getReceiver, getReceivers, getReceivers, getReceiverThreadingProfile, getReceiverWorkManager, getRequesterFactory, getRequesterThreadingProfile, getRequesterWorkManager, getScheduler, getServiceDescriptor, getServiceOverrides, getSessionHandler, getSupportedProtocols, handleException, handleWorkException, initFromServiceDescriptor, initialise, initialiseFromUrl, initWorkManagers, isConnected, isCreateMultipleTransactedReceivers, isDisposed, isDisposing, isEnableMessageEvents, isStarted, isSyncEnabled, lookupReceiver, registerListener, registerSupportedProtocol, registerSupportedProtocolWithoutPrefix, request, request, send, setConnectionStrategy, setCreateMultipleTransactedReceivers, setDispatcherFactory, setDispatcherThreadingProfile, setDynamicNotification, setExceptionListener, setMaxDispatchersActive, setMaxRequestersActive, setMuleContext, setName, setNumberOfConcurrentTransactedReceivers, setReceiverThreadingProfile, setRequesterFactory, setRequesterThreadingProfile, setServiceOverrides, setSessionHandler, setSupportedProtocols, setupDispatchReturn, setupRequestReturn, start, stop, supportsProtocol, toString, unregisterListener, unregisterSupportedProtocol, updateCachedNotificationHandler, workAccepted, workCompleted, workRejected, workStartedpublic static final String JMS
public String username
public String password
public String getProtocol()
getProtocol in interface Connectorprotected void doInitialise()
throws InitialisationException
doInitialise in class AbstractConnectorInitialisationExceptionprotected javax.jms.ConnectionFactory getDefaultConnectionFactory()
protected void doDispose()
AbstractConnectordoDispose in class AbstractConnectorprotected javax.jms.Connection createConnection()
throws NamingException,
javax.jms.JMSException,
InitialisationException
NamingExceptionjavax.jms.JMSExceptionInitialisationExceptionprotected void doConnect()
throws ConnectException
AbstractConnectordoConnect in class AbstractConnectorConnectExceptionprotected void doDisconnect()
throws ConnectException
AbstractConnectordoDisconnect in class AbstractConnectorConnectExceptionpublic MessageAdapter getMessageAdapter(Object message) throws MessagingException
AbstractConnectorMessageAdapter for the endpoint for the given message
(data)getMessageAdapter in interface ConnectorgetMessageAdapter in class AbstractConnectormessage - the data with which to initialise the
MessageAdapterMessageAdapter for the endpointMessagingException - if the message parameter is not supportedMessageAdapterprotected Object getReceiverKey(Service service, InboundEndpoint endpoint)
AbstractConnectorgetReceiverKey in class AbstractConnectorservice - the service for which the endpoint is being registeredendpoint - the endpoint being registered for the servicepublic javax.jms.Session getSessionFromTransaction()
public javax.jms.Session getSession(ImmutableEndpoint endpoint) throws javax.jms.JMSException
javax.jms.JMSExceptionpublic javax.jms.Session getSession(boolean transacted,
boolean topic)
throws javax.jms.JMSException
javax.jms.JMSExceptionprotected void doStart()
throws MuleException
AbstractConnectordoStart in class AbstractConnectorMuleException - if the method failsprotected void doStop()
throws MuleException
AbstractConnectordoStop in class AbstractConnectorMuleException - if the method failspublic ReplyToHandler getReplyToHandler()
AbstractConnectorgetReplyToHandler in class AbstractConnectorpublic void onNotification(ServerNotification notification)
onNotification in interface ServerNotificationListenerpublic boolean supportsProperty(String property)
public javax.jms.Message preProcessMessage(javax.jms.Message message,
javax.jms.Session session)
throws Exception
message - - the incoming messagesession - - the JMS sessionExceptionpublic void close(javax.jms.MessageProducer producer)
throws javax.jms.JMSException
producer - javax.jms.JMSExceptionpublic void closeQuietly(javax.jms.MessageProducer producer)
producer - public void close(javax.jms.MessageConsumer consumer)
throws javax.jms.JMSException
consumer - javax.jms.JMSExceptionpublic void closeQuietly(javax.jms.MessageConsumer consumer)
consumer - public void close(javax.jms.Session session)
throws javax.jms.JMSException
session - javax.jms.JMSExceptionpublic void closeQuietly(javax.jms.Session session)
session - public void close(javax.jms.TemporaryQueue tempQueue)
throws javax.jms.JMSException
tempQueue - javax.jms.JMSExceptionpublic void closeQuietly(javax.jms.TemporaryQueue tempQueue)
tempQueue - public void close(javax.jms.TemporaryTopic tempTopic)
throws javax.jms.JMSException
tempTopic - javax.jms.JMSExceptionpublic void closeQuietly(javax.jms.TemporaryTopic tempTopic)
tempTopic - public javax.jms.Connection getConnection()
protected void setConnection(javax.jms.Connection connection)
public int getAcknowledgementMode()
public void setAcknowledgementMode(int acknowledgementMode)
acknowledgementMode - The acknowledgementMode to set.public boolean isDurable()
public void setDurable(boolean durable)
durable - The durable to set.public boolean isNoLocal()
public void setNoLocal(boolean noLocal)
noLocal - The noLocal to set.public boolean isPersistentDelivery()
public void setPersistentDelivery(boolean persistentDelivery)
persistentDelivery - The persistentDelivery to set.public JmsSupport getJmsSupport()
public void setJmsSupport(JmsSupport jmsSupport)
public String getSpecification()
public void setSpecification(String specification)
public void setRecoverJmsConnections(boolean recover)
public boolean isRecoverJmsConnections()
public String getUsername()
public void setUsername(String username)
public String getPassword()
public void setPassword(String password)
public String getClientId()
public void setClientId(String clientId)
public int getMaxRedelivery()
public void setMaxRedelivery(int maxRedelivery)
public boolean isRemoteSyncEnabled()
isRemoteSyncEnabled in interface ConnectorisRemoteSyncEnabled in class AbstractConnectorpublic JmsTopicResolver getTopicResolver()
public void setTopicResolver(JmsTopicResolver topicResolver)
topicResolver - Value to set for property 'topicResolver'.public boolean isEagerConsumer()
true.eagerConsumerpublic void setEagerConsumer(boolean eagerConsumer)
true will create a consumer on
connect, in contrast to lazy instantiation in the poll loop.
This setting very much depends on the JMS vendor.
Affects transactional receivers, typical symptoms are:
eagerConsumer - Value to set for property 'eagerConsumer'.eagerConsumer,
XaTransactedJmsMessageReceiverpublic boolean isCacheJmsSessions()
public void setCacheJmsSessions(boolean cacheJmsSessions)
public javax.jms.ConnectionFactory getConnectionFactory()
public void setConnectionFactory(javax.jms.ConnectionFactory connectionFactory)
public RedeliveryHandlerFactory getRedeliveryHandlerFactory()
public void setRedeliveryHandlerFactory(RedeliveryHandlerFactory redeliveryHandlerFactory)
public void setHonorQosHeaders(boolean honorQosHeaders)
honorQosHeaders property, which determines whether
JmsMessageDispatcher should honor incoming message's QoS headers
(JMSPriority, JMSDeliveryMode).honorQosHeaders - true if JmsMessageDispatcher
should honor incoming message's QoS headers; otherwise
false Default is false, meaning that
connector settings will override message headers.public boolean isHonorQosHeaders()
honorQosHeaders property.true if JmsMessageDispatcher should
honor incoming message's QoS headers; otherwise false
Default is false, meaning that connector settings will
override message headers.public ConnectionStrategy getConnectionStrategy()
AbstractConnectorgetConnectionStrategy in class AbstractConnectorCopyright © 2003-2012 MuleSource, Inc.. All Rights Reserved.