Class MessageQueueListener
java.lang.Object
org.frankframework.jndi.JndiBase
org.frankframework.jms.JMSFacade
org.frankframework.jms.AbstractJmsListener
org.frankframework.jms.PullingJmsListener
org.frankframework.jms.MessageQueueListener
- All Implemented Interfaces:
FrankElement, HasApplicationContext, HasName, HasPhysicalDestination, HasSender, IConfigurable, ICorrelatedPullingListener<jakarta.jms.Message>, IListener<jakarta.jms.Message>, IPullingListener<jakarta.jms.Message>, IRedeliveringListener<jakarta.jms.Message>, IScopeProvider, IWithParameters, IXAEnabled, NameAware, ConfigurableLifecycle, ReceiverAware<jakarta.jms.Message>, RunStateEnquiring, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle
Listener that receives messages from a
MessageQueueSender in another Adapter.
Any PipeLineSession keys sent by the source adapter will be in the receiving PipeLineSession.
This listener is the JMS-based equivalent of the MessageStoreListener.
If the message received is not in the expected format produced by the MessageQueueSender, the listener will still do
its best to convert it to a regular input-message, so it can also be used with a regular JmsSender, or other JMS sources.
-
Nested Class Summary
Nested classes/interfaces inherited from class JMSFacade
JMSFacade.AcknowledgeMode, JMSFacade.DeliveryMode, JMSFacade.JmsDestinationType, JMSFacade.MessageClass, JMSFacade.SubscriberType -
Field Summary
Fields inherited from class JMSFacade
JMS_MESSAGECLASS_KEY, log, messagingSourceFields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionextractMessage(@NonNull RawMessageWrapper<jakarta.jms.Message> rawMessage, @NonNull Map<String, Object> context) Extracts data from message obtained fromIPullingListener.getRawMessage(Map).voidsetMessageClass(JMSFacade.MessageClass messageClass) The JMSMessageclass for the outgoing message.Methods inherited from class PullingJmsListener
afterMessageProcessed, canGoOn, closeThread, getRawMessage, getRawMessage, getReceiver, getSession, openThread, releaseReceiver, releaseSession, sendReply, setRunStateEnquirerMethods inherited from class AbstractJmsListener
addParameter, configure, extractMessageProperties, getMessageProperties, getParameterList, messageWillBeRedeliveredOnExitStateError, prepareReply, prepareReply, setForceMessageIdAsCorrelationId, setReplyDeliveryMode, setReplyDestinationName, setReplyEncodingStyleURI, setReplyMessageTimeToLive, setReplyMessageType, setReplyNamespaceURI, setReplyPriority, setReplySoapAction, setSender, setSoap, setSoapHeaderSessionKey, setTimeout, setUseReplyTo, start, stopMethods inherited from class JMSFacade
checkTransactionManagerValidity, closeSession, createBytesMessage, createMessage, createSession, createTextMessage, extractMessage, extractMessageBody, getConnectionFactoryName, getContext, getDestination, getDestination, getJmsMessagingSource, getLogPrefix, getMessageConsumer, getMessageConsumer, getMessageConsumerForCorrelationId, getMessageProducer, getMessagingSource, getPhysicalDestinationName, getPhysicalDestinationShortName, getPhysicalDestinationShortName, isRunning, isSessionsArePooled, logMessageDetails, send, send, send, send, send, sendByQueue, sendByTopic, setAcknowledgeMode, setAuthAlias, setCorrelationIdMaxLength, setCorrelationIdToHex, setCorrelationIdToHexPrefix, setDestinationName, setDestinationType, setJndiContextPrefix, setLookupDestination, setMessageCorrelationID, setMessageSelector, setMessageTimeToLive, setName, setQueueConnectionFactoryName, setSubscriberType, setTopicConnectionFactoryName, setTransacted, toStringMethods inherited from class JndiBase
getContext, getJndiEnv, setAuthentication, setCredentials, setInitialContextFactoryName, setJmsRealm, setJndiAuthAlias, setJndiProperties, setPrincipal, setProviderURL, setSecurityProtocol, setUrlPkgPrefixesMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.context.ApplicationContextAware
setApplicationContextMethods inherited from interface ConfigurableLifecycle
getPhase, isAutoStartup, isConfiguredMethods inherited from interface FrankElement
addConfigWarningMethods inherited from interface HasApplicationContext
getApplicationContext, getConfigurationClassLoaderMethods inherited from interface IConfigurable
configureMethods inherited from interface IXAEnabled
isTransactedMethods inherited from interface ReceiverAware
getReceiver, setReceiverMethods inherited from interface org.springframework.context.SmartLifecycle
isPauseable, stop
-
Constructor Details
-
MessageQueueListener
public MessageQueueListener()
-
-
Method Details
-
extractMessage
public Message extractMessage(@NonNull RawMessageWrapper<jakarta.jms.Message> rawMessage, @NonNull Map<String, Object> context) throws ListenerExceptionDescription copied from class:AbstractJmsListenerExtracts data from message obtained fromIPullingListener.getRawMessage(Map). May also extract other parameters from the message and put those in the context.- Specified by:
extractMessagein interfaceIListener<jakarta.jms.Message>- Overrides:
extractMessagein classAbstractJmsListener- Parameters:
rawMessage- TheRawMessageWrapperfrom which to extract theMessage.context- Context to populate. Either aPipeLineSessionor athreadContextdepending on caller.- Returns:
- String input
Messagefor adapter. - Throws:
ListenerException
-
setMessageClass
Description copied from class:JMSFacadeThe JMSMessageclass for the outgoing message. Currently supported areJMSFacade.MessageClass.TEXTfor JMSTextMessage,JMSFacade.MessageClass.BYTESfor JMSBytesMessage, orJMSFacade.MessageClass.AUTOfor auto-determination based on whether the inputMessageis binary or character.Defaults to
JMSFacade.MessageClass.AUTO, unless the default is overridden inAppConstantswith propertyjms.messageClass.default- Overrides:
setMessageClassin classJMSFacade
-