org.mule.transport.amqp.internal.endpoint.receiver
Class MultiChannelMessageReceiver

java.lang.Object
  extended by org.mule.transport.AbstractTransportMessageHandler
      extended by org.mule.transport.AbstractMessageReceiver
          extended by org.mule.transport.amqp.internal.endpoint.receiver.MultiChannelMessageReceiver
All Implemented Interfaces:
org.mule.api.lifecycle.Disposable, org.mule.api.lifecycle.Initialisable, org.mule.api.lifecycle.Lifecycle, org.mule.api.lifecycle.LifecycleStateEnabled, org.mule.api.lifecycle.Startable, org.mule.api.lifecycle.Stoppable, org.mule.api.source.MessageSource, org.mule.api.transport.Connectable, org.mule.api.transport.MessageReceiver

public class MultiChannelMessageReceiver
extends org.mule.transport.AbstractMessageReceiver

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.


Field Summary
protected  AmqpConnector amqpConnector
           
protected  AmqpDeclarer declarator
           
protected  int numberOfChannels
           
protected  String queueName
           
protected  List<MultiChannelMessageSubReceiver> subReceivers
           
 
Fields inherited from class org.mule.transport.AbstractMessageReceiver
defaultInboundTransformers, defaultResponseTransformers, flowConstruct, listener, receiverKey, replyToHandler
 
Fields inherited from class org.mule.transport.AbstractTransportMessageHandler
connected, connector, endpoint, lifecycleManager, logger, muleMessageFactory, retryTemplate
 
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
MultiChannelMessageReceiver(org.mule.api.transport.Connector connector, org.mule.api.construct.FlowConstruct flowConstruct, org.mule.api.endpoint.InboundEndpoint endpoint)
           
 
Method Summary
protected  void declareEndpoint(com.rabbitmq.client.Channel channel)
           
protected  void doConnect()
           
protected  void doDisconnect()
           
protected  String getQueueOrCreateTemporaryQueue(com.rabbitmq.client.Channel channel)
           
 
Methods inherited from class org.mule.transport.AbstractMessageReceiver
applyInboundTransformers, applyResponseTransformers, connectHandler, createExecutionTemplate, createLifecycleManager, createMuleEvent, doDispose, doStartHandler, getConnectEventId, getConnectionDescription, getEndpoint, getEndpointURI, getFlowConstruct, getReceiverKey, getReplyToHandler, getWorkManager, handleUnacceptedFilter, initialise, processMessage, propagateRootMessageIdProperty, routeEvent, routeMessage, routeMessage, routeMessage, routeMessage, routeMessage, setEndpoint, setListener, setReceiverKey, shouldConsumeInEveryNode, toString, warnIfMuleClientSendUsed
 
Methods inherited from class org.mule.transport.AbstractTransportMessageHandler
activate, connect, createMuleMessage, createMuleMessage, createMuleMessage, createMuleMessageFactory, createNullMuleMessage, disconnect, dispose, disposeAndLogException, doInitialise, doStart, doStop, getConnectEventId, getConnector, getLifecycleState, initializeMessageFactory, initializeRetryPolicy, isConnected, isDoThreading, isStarted, isStarting, isStopped, isStopping, passivate, setEndpoint, start, stop, validate, validateConnection
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mule.api.transport.MessageReceiver
createMuleMessage, createMuleMessage
 
Methods inherited from interface org.mule.api.transport.Connectable
connect, disconnect, isConnected, validateConnection
 
Methods inherited from interface org.mule.api.lifecycle.Startable
start
 
Methods inherited from interface org.mule.api.lifecycle.Stoppable
stop
 
Methods inherited from interface org.mule.api.lifecycle.Disposable
dispose
 

Field Detail

amqpConnector

protected final AmqpConnector amqpConnector

declarator

protected AmqpDeclarer declarator

subReceivers

protected final List<MultiChannelMessageSubReceiver> subReceivers

numberOfChannels

protected int numberOfChannels

queueName

protected String queueName
Constructor Detail

MultiChannelMessageReceiver

public MultiChannelMessageReceiver(org.mule.api.transport.Connector connector,
                                   org.mule.api.construct.FlowConstruct flowConstruct,
                                   org.mule.api.endpoint.InboundEndpoint endpoint)
                            throws org.mule.api.lifecycle.CreateException
Throws:
org.mule.api.lifecycle.CreateException
Method Detail

doConnect

protected void doConnect()
                  throws Exception
Overrides:
doConnect in class org.mule.transport.AbstractTransportMessageHandler
Throws:
Exception

doDisconnect

protected void doDisconnect()
                     throws Exception
Overrides:
doDisconnect in class org.mule.transport.AbstractTransportMessageHandler
Throws:
Exception

declareEndpoint

protected void declareEndpoint(com.rabbitmq.client.Channel channel)
                        throws IOException
Throws:
IOException

getQueueOrCreateTemporaryQueue

protected String getQueueOrCreateTemporaryQueue(com.rabbitmq.client.Channel channel)
                                         throws IOException
Throws:
IOException


Copyright © 2003–2015 MuleSoft, Inc.. All rights reserved.