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,ConfigurableLifecycle,ReceiverAware<jakarta.jms.Message>,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.context.Lifecycle,org.springframework.context.Phased,org.springframework.context.SmartLifecycle
- 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.JmsDestinationType, JMSFacade.MessageClass, JMSFacade.SubscriberType -
Field Summary
Fields inherited from class org.frankframework.jms.JMSFacade
JMS_MESSAGECLASS_KEY, log, messagingSourceFields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidafterMessageProcessed(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.voidConfigure 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 StringgetResultFromXPath(String message, String xPathExpression) booleanvoidsetCopyAEProperties(boolean b) if true, all JMS properties in the request starting with "ae_" are copied to the reply.voidif messageProtocol=RR, default value is: truevoidprotocol of ESB service to be calledvoidsetUseReplyTo(boolean newUseReplyTo) if messageProtocol=FF, default value is: falsevoidsetxPathLoggingKeys(String string) Comma separated list of all XPath keys that need to be logged.booleanbooleanMethods inherited from class org.frankframework.jms.PushingJmsListener
decreaseThreadCount, getCurrentThreadCount, getDeliveryCount, getMaxThreadCount, increaseThreadCount, isThreadCountControllable, isThreadCountReadable, setCacheMode, setDestinationName, setPollGuardInterval, start, stop, wrapRawMessageMethods 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, setTimeoutMethods 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, getPhysicalDestinationName, getPhysicalDestinationShortName, getPhysicalDestinationShortName, isRunning, isSessionsArePooled, logMessageDetails, send, send, send, send, send, sendByQueue, sendByTopic, setAcknowledgeMode, setAuthAlias, setCorrelationIdMaxLength, setCorrelationIdToHex, setCorrelationIdToHexPrefix, setDestinationType, setJndiContextPrefix, setLookupDestination, setMessageClass, setMessageCorrelationID, setMessageSelector, setMessageTimeToLive, setName, setPersistent, setQueueConnectionFactoryName, setSubscriberType, setTopicConnectionFactoryName, setTransacted, toStringMethods inherited from class org.frankframework.jndi.JndiBase
getContext, getJndiEnv, setAuthentication, setCredentials, setInitialContextFactoryName, setJmsRealm, setJndiAuthAlias, setJndiProperties, setPrincipal, setProviderURL, setSecurityProtocol, setUrlPkgPrefixesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.context.ApplicationContextAware
setApplicationContextMethods inherited from interface org.frankframework.lifecycle.ConfigurableLifecycle
getPhase, isAutoStartup, isConfiguredMethods inherited from interface org.frankframework.core.FrankElement
addConfigWarningMethods inherited from interface org.frankframework.core.HasApplicationContext
getApplicationContext, getConfigurationClassLoaderMethods inherited from interface org.frankframework.core.IJmsListener
getDestinationName, getQueueConnectionFactoryNameMethods inherited from interface org.frankframework.core.IListener
extractMessage, start, stopMethods inherited from interface org.frankframework.core.IPortConnectedListener
checkTransactionManagerValidity, getExceptionListener, getHandlerMethods inherited from interface org.frankframework.core.IPushingListener
setExceptionListener, setHandlerMethods inherited from interface org.frankframework.core.IXAEnabled
isTransactedMethods inherited from interface org.frankframework.receivers.ReceiverAware
getReceiver, setReceiverMethods inherited from interface org.springframework.context.SmartLifecycle
stop
-
Constructor Details
-
EsbJmsListener
public EsbJmsListener()
-
-
Method Details
-
configure
Description copied from interface:IConfigurableConfigure 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:
configurein interfaceIConfigurable- Overrides:
configurein classPushingJmsListener- Throws:
ConfigurationException- in case it was not able to configure the component.
-
getxPathLogMap
-
extractMessageProperties
Description copied from class:AbstractJmsListenerFill in thread-context with things needed by the JMSListener code. This includes a Session. The Session object can be passed in externally.- Overrides:
extractMessagePropertiesin classAbstractJmsListener- Parameters:
rawMessage- - Original message received, can not benull- Returns:
- A
Mapwith 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:IListenerCalled to perform actions (like committing or sending a reply) after a message has been processed by the Pipeline.- Specified by:
afterMessageProcessedin interfaceIListener<jakarta.jms.Message>- Overrides:
afterMessageProcessedin classAbstractJmsListener- Throws:
ListenerException
-
getMessageProperties
Description copied from class:AbstractJmsListenerSet additional message headers/properties on the JMS response, read after message has been processed!- Overrides:
getMessagePropertiesin classAbstractJmsListener- Parameters:
session- which has been built during the pipeline- Returns:
- a map with headers to set to the JMS response, or
nullif 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:
transactionalRequiredin interfaceITransactionRequirements
-
transactionalAllowed
public boolean transactionalAllowed()- Specified by:
transactionalAllowedin 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:
setForceMessageIdAsCorrelationIdin classAbstractJmsListener
-
setUseReplyTo
public void setUseReplyTo(boolean newUseReplyTo) if messageProtocol=FF, default value is: false- Overrides:
setUseReplyToin classAbstractJmsListener
-
setxPathLoggingKeys
Comma separated list of all XPath keys that need to be logged. (overridesmsg.log.keysproperty)
-