Class ReplyManagerSupport
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.component.sjms.reply.ReplyManagerSupport
- All Implemented Interfaces:
AutoCloseable,ReplyManager,SessionMessageListener,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
- Direct Known Subclasses:
QueueReplyManager,TemporaryQueueReplyManager
public abstract class ReplyManagerSupport
extends org.apache.camel.support.service.ServiceSupport
implements ReplyManager
Base class for
ReplyManager implementations.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.apache.camel.CamelContextprotected org.apache.camel.component.sjms.reply.CorrelationTimeoutMapprotected SjmsEndpointprotected ExecutorServiceprotected MessageListenerContainerprotected final org.slf4j.Loggerprotected jakarta.jms.Destinationprotected final CountDownLatchprotected final longprotected ScheduledExecutorServiceFields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract MessageListenerContainerprotected voiddoStart()protected voiddoStop()jakarta.jms.DestinationGets the reply to queue being usedprotected abstract voidhandleReplyMessage(String correlationID, jakarta.jms.Message message, jakarta.jms.Session session) voidonMessage(jakarta.jms.Message message, jakarta.jms.Session session) voidprocessReply(ReplyHolder holder) Process the replyregisterReply(ReplyManager replyManager, org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback, String originalCorrelationId, String correlationId, long requestTimeout) Register a replyvoidsetEndpoint(SjmsEndpoint endpoint) Sets the belongingSjmsEndpoint.voidsetOnTimeoutExecutorService(ExecutorService executorService) Sets the thread pool to use for continue routingExchangewhen a timeout was triggered when doing request/reply over JMS.voidsetReplyTo(jakarta.jms.Destination replyTo) Sets the reply to queue the manager should listen for replies.voidsetScheduledExecutorService(ScheduledExecutorService executorService) Sets the scheduled thread pool to use when checking for timeouts (no reply received within a given time period)Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getInternalLock, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.camel.component.sjms.reply.ReplyManager
updateCorrelationIdMethods inherited from interface org.apache.camel.Service
build, close, init, start, stopMethods inherited from interface org.apache.camel.ShutdownableService
shutdownMethods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspendingMethods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Field Details
-
log
protected final org.slf4j.Logger log -
camelContext
protected final org.apache.camel.CamelContext camelContext -
scheduledExecutorService
-
executorService
-
endpoint
-
replyTo
protected jakarta.jms.Destination replyTo -
listenerContainer
-
replyToLatch
-
replyToTimeout
protected final long replyToTimeout- See Also:
-
correlation
protected org.apache.camel.component.sjms.reply.CorrelationTimeoutMap correlation
-
-
Constructor Details
-
ReplyManagerSupport
public ReplyManagerSupport(org.apache.camel.CamelContext camelContext)
-
-
Method Details
-
setScheduledExecutorService
Description copied from interface:ReplyManagerSets the scheduled thread pool to use when checking for timeouts (no reply received within a given time period)- Specified by:
setScheduledExecutorServicein interfaceReplyManager
-
setOnTimeoutExecutorService
Description copied from interface:ReplyManagerSets the thread pool to use for continue routingExchangewhen a timeout was triggered when doing request/reply over JMS.- Specified by:
setOnTimeoutExecutorServicein interfaceReplyManager
-
setEndpoint
Description copied from interface:ReplyManagerSets the belongingSjmsEndpoint.- Specified by:
setEndpointin interfaceReplyManager
-
setReplyTo
public void setReplyTo(jakarta.jms.Destination replyTo) Description copied from interface:ReplyManagerSets the reply to queue the manager should listen for replies. The queue is either a temporary or a persistent queue.- Specified by:
setReplyToin interfaceReplyManager
-
getReplyTo
public jakarta.jms.Destination getReplyTo()Description copied from interface:ReplyManagerGets the reply to queue being used- Specified by:
getReplyToin interfaceReplyManager
-
registerReply
public String registerReply(ReplyManager replyManager, org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback, String originalCorrelationId, String correlationId, long requestTimeout) Description copied from interface:ReplyManagerRegister a reply- Specified by:
registerReplyin interfaceReplyManager- Parameters:
replyManager- the reply manager being usedexchange- the exchangecallback- the callbackoriginalCorrelationId- an optional original correlation idcorrelationId- the correlation id to expect being usedrequestTimeout- the timeout- Returns:
- the correlation id used
-
onMessage
public void onMessage(jakarta.jms.Message message, jakarta.jms.Session session) throws jakarta.jms.JMSException - Specified by:
onMessagein interfaceSessionMessageListener- Throws:
jakarta.jms.JMSException
-
processReply
Description copied from interface:ReplyManagerProcess the reply- Specified by:
processReplyin interfaceReplyManager- Parameters:
holder- containing needed data to process the reply and continue routing
-
handleReplyMessage
protected abstract void handleReplyMessage(String correlationID, jakarta.jms.Message message, jakarta.jms.Session session) -
createListenerContainer
- Throws:
Exception
-
doStart
- Overrides:
doStartin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-
doStop
- Overrides:
doStopin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-