org.mule.transport.jms
Class MultiConsumerJmsMessageReceiver

java.lang.Object
  extended by org.mule.transport.AbstractMessageReceiver
      extended by org.mule.transport.jms.MultiConsumerJmsMessageReceiver
All Implemented Interfaces:
Disposable, Initialisable, Lifecycle, Startable, Stoppable, Connectable, MessageReceiver

public class MultiConsumerJmsMessageReceiver
extends AbstractMessageReceiver

This is an experimental rework of the transacted.message.receiver (it may work with non-transacted sessions as well, just hasn't been tested and load-tested yet.

In Mule an endpoint corresponds to a single receiver. It's up to the receiver to do multithreaded consumption and resource allocation, if needed. This class honors the numberOfConcurrentTransactedReceivers strictly and will create exactly this number of consumers.


Nested Class Summary
protected  class MultiConsumerJmsMessageReceiver.JmsWorker
           
 
Field Summary
protected  edu.emory.mathcs.backport.java.util.concurrent.BlockingDeque consumers
           
protected  int receiversCount
           
 
Fields inherited from class org.mule.transport.AbstractMessageReceiver
connected, connecting, connectionStrategy, connector, disposing, endpoint, logger, receiverKey, responseEndpoint, service, stopped
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
MultiConsumerJmsMessageReceiver(Connector connector, Service service, InboundEndpoint endpoint)
           
 
Method Summary
protected  void doConnect()
           
protected  void doDisconnect()
           
protected  void doDispose()
           
protected  void doStart()
           
protected  void doStop()
           
 
Methods inherited from class org.mule.transport.AbstractMessageReceiver
connect, disconnect, dispose, doInitialise, getConnectEventId, getConnectionDescription, getConnector, getEndpoint, getEndpointURI, getListener, getReceiverKey, getService, getWorkManager, handleException, handleUnacceptedFilter, initialise, isConnected, routeMessage, routeMessage, routeMessage, routeMessage, routeMessage, routeMessage, setConnector, setEndpoint, setExceptionDetails, setListener, setReceiverKey, setService, setWorkManager, start, stop, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

consumers

protected final edu.emory.mathcs.backport.java.util.concurrent.BlockingDeque consumers

receiversCount

protected volatile int receiversCount
Constructor Detail

MultiConsumerJmsMessageReceiver

public MultiConsumerJmsMessageReceiver(Connector connector,
                                       Service service,
                                       InboundEndpoint endpoint)
                                throws CreateException
Throws:
CreateException
Method Detail

doStart

protected void doStart()
                throws MuleException
Specified by:
doStart in class AbstractMessageReceiver
Throws:
MuleException

doStop

protected void doStop()
               throws MuleException
Specified by:
doStop in class AbstractMessageReceiver
Throws:
MuleException

doConnect

protected void doConnect()
                  throws Exception
Specified by:
doConnect in class AbstractMessageReceiver
Throws:
Exception

doDisconnect

protected void doDisconnect()
                     throws Exception
Specified by:
doDisconnect in class AbstractMessageReceiver
Throws:
Exception

doDispose

protected void doDispose()
Specified by:
doDispose in class AbstractMessageReceiver


Copyright © 2003-2008 MuleSource, Inc.. All Rights Reserved.