Class JmsListener
- All Implemented Interfaces:
FrankElement
,HasApplicationContext
,HasName
,HasPhysicalDestination
,HasSender
,IConfigurable
,IKnowsDeliveryCount<jakarta.jms.Message>
,IListener<jakarta.jms.Message>
,IPortConnectedListener<jakarta.jms.Message>
,IPushingListener<jakarta.jms.Message>
,IRedeliveringListener<jakarta.jms.Message>
,IScopeProvider
,IThreadCountControllable
,IWithParameters
,IXAEnabled
,NameAware
,ReceiverAware<jakarta.jms.Message>
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
,org.springframework.context.Lifecycle
Listener
-class.
Since version 4.1, Ibis supports distributed transactions using the XA-protocol. This feature is controlled by the
transacted
attribute. If this is set to true
, received messages are
committed or rolled back, possibly together with other actions, by the receiver or the pipeline.
In case of a failure, all actions within the transaction are rolled back.
Setting listener.acknowledgeMode
to "auto" means that messages are allways acknowledged (removed from
the queue, regardless of what the status of the Adapter is. "client" means that the message will only be removed from the queue
when the state of the Adapter equals the success state for committing.
The "dups" mode instructs the session to lazily acknowledge the delivery of the messages. This is likely to result in the
delivery of duplicate messages if JMS fails. It should be used by consumers who are tolerant in processing duplicate messages.
In cases where the client is tolerant of duplicate messages, some enhancement in performance can be achieved using this mode,
since a session has lower overhead in trying to prevent duplicate messages.
The setting for listener.acknowledgeMode
will only be processed if
the setting for listener.transacted
.
If useReplyTo
is set and a replyTo-destination is
specified in the message, the JmsListener sends the result of the processing
in the pipeline to this destination. Otherwise the result is sent using the (optionally)
specified, that in turn sends the message to
whatever it is configured to.
You can add parameters to the JmsListener, the values will be added as Headers to the JMS response message.
Notice: the JmsListener is ONLY capable of processing
TextMessage
s and BytesMessage
- Since:
- 4.0.1, since 4.8 as 'switch'-class
- Author:
- Gerrit van Brakel
-
Nested Class Summary
Nested classes/interfaces inherited from class org.frankframework.jms.JMSFacade
JMSFacade.AcknowledgeMode, JMSFacade.DeliveryMode, JMSFacade.DestinationType, JMSFacade.MessageClass, JMSFacade.SubscriberType
-
Field Summary
Fields inherited from class org.frankframework.jms.JMSFacade
JMS_MESSAGECLASS_KEY, messagingSource
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.frankframework.jms.PushingJmsListener
configure, decreaseThreadCount, getCacheMode, getCurrentThreadCount, getDeliveryCount, getExceptionListener, getHandler, getJmsConnector, getMaxThreadCount, getPollGuardInterval, getReceiver, increaseThreadCount, isThreadCountControllable, isThreadCountReadable, setCacheMode, setDestinationName, setExceptionListener, setHandler, setJmsConnector, setPollGuardInterval, setReceiver, start, stop, wrapRawMessage
Methods inherited from class org.frankframework.jms.AbstractJmsListener
addParameter, afterMessageProcessed, extractMessage, extractMessageProperties, getForceMessageIdAsCorrelationId, getMessageProperties, getParameterList, getReplyDeliveryMode, getReplyDestinationName, getReplyEncodingStyleURI, getReplyMessageTimeToLive, getReplyMessageType, getReplyNamespaceURI, getReplyPriority, getReplySoapAction, getSender, getSoapHeaderSessionKey, getTimeout, isSoap, isUseReplyTo, messageWillBeRedeliveredOnExitStateError, prepareReply, prepareReply, sendReply, setForceMessageIdAsCorrelationId, setReplyDeliveryMode, setReplyDestinationName, setReplyEncodingStyleURI, setReplyMessageTimeToLive, setReplyMessageType, setReplyNamespaceURI, setReplyPriority, setReplySoapAction, setSender, setSoap, setSoapHeaderSessionKey, setTimeout, setUseReplyTo
Methods inherited from class org.frankframework.jms.JMSFacade
checkTransactionManagerValidity, closeSession, createBytesMessage, createMessage, createMessage, createSession, createTextMessage, extractMessage, extractMessageBody, getAcknowledgeMode, getAuthAlias, getConnectionFactoryFactory, getConnectionFactoryInfo, getConnectionFactoryName, getContext, getCorrelationIdMaxLength, getCorrelationIdToHexPrefix, getDestination, getDestination, getDestinationName, getDestinationType, getDomain, getJmsMessagingSource, getLogPrefix, getMessageClass, getMessageConsumer, getMessageConsumer, getMessageConsumerForCorrelationId, getMessageProducer, getMessageSelector, getMessageTimeToLive, getMessagingSource, getMessagingSourceFactory, getPhysicalDestinationName, getPhysicalDestinationShortName, getPhysicalDestinationShortName, getProxiedDestinationNames, getQueueConnectionFactoryName, getSubscriberType, getTopicConnectionFactoryName, getTxManager, isCorrelationIdToHex, isLookupDestination, isPersistent, isRunning, isSessionsArePooled, isTransacted, isUseTopicFunctions, logMessageDetails, send, send, send, send, send, send, send, sendByQueue, sendByTopic, setAcknowledgeMode, setAuthAlias, setConnectionFactoryFactory, setCorrelationIdMaxLength, setCorrelationIdToHex, setCorrelationIdToHexPrefix, setDestinationType, setLookupDestination, setMessageClass, setMessageCorrelationID, setMessageSelector, setMessageTimeToLive, setPersistent, setProxiedDestinationNames, setQueueConnectionFactoryName, setSubscriberType, setTopicConnectionFactoryName, setTransacted, setTxManager, toString
Methods inherited from class org.frankframework.jndi.JndiBase
getApplicationContext, getAuthentication, getConfigurationClassLoader, getContext, getCredentials, getInitialContextFactoryName, getJmsRealmName, getJndiAuthAlias, getJndiContextPrefix, getJndiEnv, getJndiProperties, getName, getPrincipal, getProviderURL, getSecurityProtocol, getUrlPkgPrefixes, setApplicationContext, setAuthentication, setCredentials, setInitialContextFactoryName, setJmsRealm, setJndiAuthAlias, setJndiContextPrefix, setJndiProperties, setName, setPrincipal, setProviderURL, setSecurityProtocol, setUrlPkgPrefixes
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.context.ApplicationContextAware
setApplicationContext
Methods inherited from interface org.frankframework.core.HasApplicationContext
getApplicationContext, getConfigurationClassLoader
Methods inherited from interface org.frankframework.core.IListener
afterMessageProcessed, extractMessage
Methods inherited from interface org.frankframework.core.IPortConnectedListener
checkTransactionManagerValidity
-
Constructor Details
-
JmsListener
public JmsListener()
-