Class InOutProducer
- java.lang.Object
-
- org.apache.camel.support.service.BaseService
-
- org.apache.camel.support.service.ServiceSupport
-
- org.apache.camel.support.DefaultProducer
-
- org.apache.camel.support.DefaultAsyncProducer
-
- org.apache.camel.component.sjms.SjmsProducer
-
- org.apache.camel.component.sjms.producer.InOutProducer
-
- All Implemented Interfaces:
AutoCloseable
,org.apache.camel.AsyncProcessor
,org.apache.camel.AsyncProducer
,org.apache.camel.EndpointAware
,org.apache.camel.IsSingleton
,org.apache.camel.Processor
,org.apache.camel.Producer
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.StatefulService
,org.apache.camel.SuspendableService
public class InOutProducer extends SjmsProducer
A Camel Producer that provides the InOut Exchange pattern.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
InOutProducer.MessageConsumerResourcesFactory
A pool ofMessageConsumerResources
objects that are the reply consumers.-
Nested classes/interfaces inherited from class org.apache.camel.component.sjms.SjmsProducer
SjmsProducer.CloseProducerCallback, SjmsProducer.MessageProducerResourcesFactory, SjmsProducer.ReleaseProducerCallback, SjmsProducer.ReturnProducerCallback
-
-
Constructor Summary
Constructors Constructor Description InOutProducer(SjmsEndpoint endpoint)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doStart()
protected void
doStop()
org.apache.camel.spi.UuidGenerator
getUuidGenerator()
void
sendMessage(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback, MessageProducerResources producer, SjmsProducer.ReleaseProducerCallback releaseProducerCallback)
TODO time out is actually double as it waits for the producer and then waits for the response.void
setUuidGenerator(org.apache.camel.spi.UuidGenerator uuidGenerator)
-
Methods inherited from class org.apache.camel.component.sjms.SjmsProducer
createSession, doCreateProducerModel, getAcknowledgeMode, getCommitStrategy, getConnectionResource, getConsumerCount, getDestinationName, getEndpoint, getExecutor, getNamedReplyTo, getOrCreateConnectionResource, getProducerCount, getProducers, getReplyTo, getResponseTimeOut, getTtl, isEndpointTransacted, isPersistent, isSharedJMSSession, isSynchronous, isTopic, process, setProducers
-
Methods inherited from class org.apache.camel.support.DefaultProducer
createExchange, isSingleton, toString
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Constructor Detail
-
InOutProducer
public InOutProducer(SjmsEndpoint endpoint)
-
-
Method Detail
-
getUuidGenerator
public org.apache.camel.spi.UuidGenerator getUuidGenerator()
-
setUuidGenerator
public void setUuidGenerator(org.apache.camel.spi.UuidGenerator uuidGenerator)
-
doStart
protected void doStart() throws Exception
- Overrides:
doStart
in classSjmsProducer
- Throws:
Exception
-
doStop
protected void doStop() throws Exception
- Overrides:
doStop
in classSjmsProducer
- Throws:
Exception
-
sendMessage
public void sendMessage(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback, MessageProducerResources producer, SjmsProducer.ReleaseProducerCallback releaseProducerCallback) throws Exception
TODO time out is actually double as it waits for the producer and then waits for the response. Use an atomic long to manage the countdown- Specified by:
sendMessage
in classSjmsProducer
- Throws:
Exception
-
-