org.apache.camel.component.sjms.producer
Class InOutProducer

java.lang.Object
  extended by org.apache.camel.support.ServiceSupport
      extended by org.apache.camel.impl.DefaultProducer
          extended by org.apache.camel.impl.DefaultAsyncProducer
              extended by org.apache.camel.component.sjms.SjmsProducer
                  extended by org.apache.camel.component.sjms.producer.InOutProducer
All Implemented Interfaces:
org.apache.camel.AsyncProcessor, 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
protected  class InOutProducer.InternalTempDestinationListener
           
protected  class InOutProducer.MessageConsumerPool
          A pool of InOutProducer.MessageConsumerResource objects that are the reply consumers.
protected  class InOutProducer.MessageConsumerResource
          TODO Add Class documentation for MessageConsumerResource
 
Nested classes/interfaces inherited from class org.apache.camel.component.sjms.SjmsProducer
SjmsProducer.MessageProducerPool, SjmsProducer.MessageProducerResources
 
Field Summary
 
Fields inherited from class org.apache.camel.impl.DefaultProducer
log
 
Fields inherited from class org.apache.camel.support.ServiceSupport
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
 
Constructor Summary
InOutProducer(SjmsEndpoint endpoint)
           
 
Method Summary
 SjmsProducer.MessageProducerResources doCreateProducerModel()
           
protected  void doStart()
           
protected  void doStop()
           
 InOutProducer.MessageConsumerPool getConsumers()
           
 void sendMessage(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)
          TODO time out is actually double as it waits for the producer and then waits for the response.
 void setConsumers(InOutProducer.MessageConsumerPool consumers)
           
 
Methods inherited from class org.apache.camel.component.sjms.SjmsProducer
getAcknowledgeMode, getCommitStrategy, getConnectionResource, getConsumerCount, getDestinationName, getExecutor, getNamedReplyTo, getProducerCount, getProducers, getReplyTo, getResponseTimeOut, getSjmsEndpoint, getTtl, isEndpointTransacted, isPersistent, isSynchronous, isTopic, process, setProducers
 
Methods inherited from class org.apache.camel.impl.DefaultAsyncProducer
process
 
Methods inherited from class org.apache.camel.impl.DefaultProducer
createExchange, createExchange, createExchange, getEndpoint, isSingleton, toString
 
Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, shutdown, start, stop, suspend
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.camel.Service
start, stop
 

Constructor Detail

InOutProducer

public InOutProducer(SjmsEndpoint endpoint)
Method Detail

doStart

protected void doStart()
                throws Exception
Overrides:
doStart in class SjmsProducer
Throws:
Exception

doStop

protected void doStop()
               throws Exception
Overrides:
doStop in class SjmsProducer
Throws:
Exception

doCreateProducerModel

public SjmsProducer.MessageProducerResources doCreateProducerModel()
                                                            throws Exception
Specified by:
doCreateProducerModel in class SjmsProducer
Throws:
Exception

sendMessage

public void sendMessage(org.apache.camel.Exchange exchange,
                        org.apache.camel.AsyncCallback callback)
                 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 class SjmsProducer
Parameters:
exchange -
callback -
Throws:
Exception
See Also:
SjmsProducer.sendMessage(org.apache.camel.Exchange, org.apache.camel.AsyncCallback)

setConsumers

public void setConsumers(InOutProducer.MessageConsumerPool consumers)

getConsumers

public InOutProducer.MessageConsumerPool getConsumers()


Apache Camel