Class EsbJmsListener
java.lang.Object
org.frankframework.jndi.JndiBase
org.frankframework.jms.JMSFacade
org.frankframework.jms.AbstractJmsListener
org.frankframework.jms.PushingJmsListener
org.frankframework.jms.JmsListener
org.frankframework.extensions.esb.EsbJmsListener
- All Implemented Interfaces:
FrankElement
,HasApplicationContext
,HasName
,HasPhysicalDestination
,HasSender
,IConfigurable
,IJmsListener<jakarta.jms.Message>
,IKnowsDeliveryCount<jakarta.jms.Message>
,IListener<jakarta.jms.Message>
,IPortConnectedListener<jakarta.jms.Message>
,IPushingListener<jakarta.jms.Message>
,IRedeliveringListener<jakarta.jms.Message>
,IScopeProvider
,IThreadCountControllable
,ITransactionRequirements
,IWithParameters
,IXAEnabled
,NameAware
,ReceiverAware<jakarta.jms.Message>
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
,org.springframework.context.Lifecycle
- Direct Known Subclasses:
FxfListener
@Category(NN_SPECIAL)
public class EsbJmsListener
extends JmsListener
implements ITransactionRequirements
ESB (Enterprise Service Bus) extension of JmsListener.
- Author:
- Peter Leeuwenburgh
-
Nested Class Summary
Nested ClassesNested 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
Modifier and TypeMethodDescriptionvoid
afterMessageProcessed
(PipeLineResult plr, RawMessageWrapper<jakarta.jms.Message> rawMessageWrapper, PipeLineSession pipeLineSession) Called to perform actions (like committing or sending a reply) after a message has been processed by the Pipeline.void
Configure this component.extractMessageProperties
(jakarta.jms.Message rawMessage) Fill in thread-context with things needed by the JMSListener code.getMessageProperties
(PipeLineSession session) Set additional message headers/properties on the JMS response, read after message has been processed!protected String
getResultFromXPath
(String message, String xPathExpression) boolean
void
setCopyAEProperties
(boolean b) if true, all JMS properties in the request starting with "ae_" are copied to the reply.void
if messageProtocol=RR, default value is: truevoid
protocol of ESB service to be calledvoid
setUseReplyTo
(boolean newUseReplyTo) if messageProtocol=FF, default value is: falsevoid
setxPathLoggingKeys
(String string) Comma separated list of all XPath keys that need to be logged.boolean
boolean
Methods inherited from class org.frankframework.jms.PushingJmsListener
decreaseThreadCount, getCurrentThreadCount, getDeliveryCount, getMaxThreadCount, increaseThreadCount, isThreadCountControllable, isThreadCountReadable, setCacheMode, setDestinationName, setPollGuardInterval, start, stop, wrapRawMessage
Methods inherited from class org.frankframework.jms.AbstractJmsListener
addParameter, extractMessage, getParameterList, messageWillBeRedeliveredOnExitStateError, prepareReply, prepareReply, sendReply, setReplyDeliveryMode, setReplyDestinationName, setReplyEncodingStyleURI, setReplyMessageTimeToLive, setReplyMessageType, setReplyNamespaceURI, setReplyPriority, setReplySoapAction, setSender, setSoap, setSoapHeaderSessionKey, setTimeout
Methods inherited from class org.frankframework.jms.JMSFacade
checkTransactionManagerValidity, closeSession, createBytesMessage, createMessage, createMessage, createSession, createTextMessage, extractMessage, extractMessageBody, getConnectionFactoryName, getContext, getDestination, getDestination, getJmsMessagingSource, getLogPrefix, getMessageConsumer, getMessageConsumer, getMessageConsumerForCorrelationId, getMessageProducer, getMessagingSource, getMessagingSourceFactory, getPhysicalDestinationName, getPhysicalDestinationShortName, getPhysicalDestinationShortName, isRunning, isSessionsArePooled, logMessageDetails, send, send, send, send, send, send, send, sendByQueue, sendByTopic, setAcknowledgeMode, setAuthAlias, setCorrelationIdMaxLength, setCorrelationIdToHex, setCorrelationIdToHexPrefix, setDestinationType, setLookupDestination, setMessageClass, setMessageCorrelationID, setMessageSelector, setMessageTimeToLive, setPersistent, setQueueConnectionFactoryName, setSubscriberType, setTopicConnectionFactoryName, setTransacted, toString
Methods inherited from class org.frankframework.jndi.JndiBase
getContext, getJndiEnv, 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.HasPhysicalDestination
getDomain
Methods inherited from interface org.frankframework.core.IJmsListener
getDestinationName, getQueueConnectionFactoryName
Methods inherited from interface org.frankframework.core.IListener
extractMessage, start, stop
Methods inherited from interface org.frankframework.core.IPortConnectedListener
checkTransactionManagerValidity, getExceptionListener, getHandler
Methods inherited from interface org.frankframework.core.IPushingListener
setExceptionListener, setHandler
Methods inherited from interface org.frankframework.core.IXAEnabled
isTransacted
Methods inherited from interface org.frankframework.receivers.ReceiverAware
getReceiver, setReceiver
-
Constructor Details
-
EsbJmsListener
public EsbJmsListener()
-
-
Method Details
-
configure
Description copied from interface:IConfigurable
Configure this component.configure()
is called once at startup of the framework in the configure method of the owner of thisIConfigurable
. Purpose of this method is to check whether the static configuration of the object is correct. As much as possible class-instantiating should take place in theconfigure()
, to improve performance.In the case of a container, this will propagate the configure signal to all components that apply.
- Specified by:
configure
in interfaceIConfigurable
- Overrides:
configure
in classPushingJmsListener
- Throws:
ConfigurationException
- in case it was not able to configure the component.
-
getxPathLogMap
-
extractMessageProperties
Description copied from class:AbstractJmsListener
Fill in thread-context with things needed by the JMSListener code. This includes a Session. The Session object can be passed in externally.- Overrides:
extractMessageProperties
in classAbstractJmsListener
- Parameters:
rawMessage
- - Original message received, can not benull
- Returns:
- A
Map
with the properties of the JMSMessage
.
-
getResultFromXPath
-
afterMessageProcessed
public void afterMessageProcessed(PipeLineResult plr, RawMessageWrapper<jakarta.jms.Message> rawMessageWrapper, PipeLineSession pipeLineSession) throws ListenerException Description copied from interface:IListener
Called to perform actions (like committing or sending a reply) after a message has been processed by the Pipeline.- Specified by:
afterMessageProcessed
in interfaceIListener<jakarta.jms.Message>
- Overrides:
afterMessageProcessed
in classAbstractJmsListener
- Throws:
ListenerException
-
getMessageProperties
Description copied from class:AbstractJmsListener
Set additional message headers/properties on the JMS response, read after message has been processed!- Overrides:
getMessageProperties
in classAbstractJmsListener
- Parameters:
session
- which has been built during the pipeline- Returns:
- a map with headers to set to the JMS response, or
null
if there was no session or no parameters.
-
setMessageProtocol
protocol of ESB service to be called -
isSynchronous
public boolean isSynchronous() -
transactionalRequired
public boolean transactionalRequired()- Specified by:
transactionalRequired
in interfaceITransactionRequirements
-
transactionalAllowed
public boolean transactionalAllowed()- Specified by:
transactionalAllowed
in interfaceITransactionRequirements
-
setCopyAEProperties
if true, all JMS properties in the request starting with "ae_" are copied to the reply. -
setForceMessageIdAsCorrelationId
if messageProtocol=RR, default value is: true- Overrides:
setForceMessageIdAsCorrelationId
in classAbstractJmsListener
-
setUseReplyTo
public void setUseReplyTo(boolean newUseReplyTo) if messageProtocol=FF, default value is: false- Overrides:
setUseReplyTo
in classAbstractJmsListener
-
setxPathLoggingKeys
Comma separated list of all XPath keys that need to be logged. (overridesmsg.log.keys
property)
-