org.jboss.messaging.core.client.impl
Class ClientConsumerImpl
java.lang.Object
org.jboss.messaging.core.client.impl.ClientConsumerImpl
- All Implemented Interfaces:
- ClientConsumer, ClientConsumerInternal
public class ClientConsumerImpl
- extends java.lang.Object
- implements ClientConsumerInternal
- Version:
- $Revision: 3603 $ $Id: ClientConsumerImpl.java 3603 2008-01-21 18:49:20Z timfox $
- Author:
- Tim Fox, Ovidiu Feodorov, Jeff Mesnil, Clebert Suconic, Andy Taylor
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CLOSE_TIMEOUT_MILLISECONDS
public static final long CLOSE_TIMEOUT_MILLISECONDS
- See Also:
- Constant Field Values
NUM_PRIORITIES
public static final int NUM_PRIORITIES
- See Also:
- Constant Field Values
ClientConsumerImpl
public ClientConsumerImpl(ClientSessionInternal session,
long id,
int clientWindowSize,
int ackBatchSize,
TokenBucketLimiter rateLimiter,
java.util.concurrent.Executor executor,
Channel channel,
java.io.File directory,
boolean preAcknowledge)
receive
public ClientMessage receive(long timeout)
throws MessagingException
- Specified by:
receive
in interface ClientConsumer
- Throws:
MessagingException
receive
public ClientMessage receive()
throws MessagingException
- Specified by:
receive
in interface ClientConsumer
- Throws:
MessagingException
receiveImmediate
public ClientMessage receiveImmediate()
throws MessagingException
- Specified by:
receiveImmediate
in interface ClientConsumer
- Throws:
MessagingException
getMessageHandler
public MessageHandler getMessageHandler()
throws MessagingException
- Specified by:
getMessageHandler
in interface ClientConsumer
- Throws:
MessagingException
setMessageHandler
public void setMessageHandler(MessageHandler theHandler)
throws MessagingException
- Specified by:
setMessageHandler
in interface ClientConsumer
- Throws:
MessagingException
close
public void close()
throws MessagingException
- Specified by:
close
in interface ClientConsumer
- Throws:
MessagingException
cleanUp
public void cleanUp()
- Specified by:
cleanUp
in interface ClientConsumerInternal
isClosed
public boolean isClosed()
- Specified by:
isClosed
in interface ClientConsumer
isFileConsumer
public boolean isFileConsumer()
- Specified by:
isFileConsumer
in interface ClientConsumerInternal
stop
public void stop()
throws MessagingException
- Specified by:
stop
in interface ClientConsumerInternal
- Throws:
MessagingException
start
public void start()
- Specified by:
start
in interface ClientConsumerInternal
getLastException
public java.lang.Exception getLastException()
- Specified by:
getLastException
in interface ClientConsumer
getID
public long getID()
- Specified by:
getID
in interface ClientConsumerInternal
handleMessage
public void handleMessage(ClientMessageInternal message)
throws java.lang.Exception
- Specified by:
handleMessage
in interface ClientConsumerInternal
- Throws:
java.lang.Exception
handleLargeMessage
public void handleLargeMessage(SessionReceiveMessage packet)
throws java.lang.Exception
- Specified by:
handleLargeMessage
in interface ClientConsumerInternal
- Throws:
java.lang.Exception
handleLargeMessageContinuation
public void handleLargeMessageContinuation(SessionReceiveContinuationMessage chunk)
throws java.lang.Exception
- Specified by:
handleLargeMessageContinuation
in interface ClientConsumerInternal
- Throws:
java.lang.Exception
clear
public void clear()
- Specified by:
clear
in interface ClientConsumerInternal
getClientWindowSize
public int getClientWindowSize()
- Specified by:
getClientWindowSize
in interface ClientConsumerInternal
getBufferSize
public int getBufferSize()
- Specified by:
getBufferSize
in interface ClientConsumerInternal
acknowledge
public void acknowledge(ClientMessage message)
throws MessagingException
- Specified by:
acknowledge
in interface ClientConsumerInternal
- Throws:
MessagingException
flushAcks
public void flushAcks()
throws MessagingException
- Specified by:
flushAcks
in interface ClientConsumerInternal
- Throws:
MessagingException
flowControl
public void flowControl(int messageBytes,
boolean discountSlowConsumer)
throws MessagingException
- flow control is synchornized because of LargeMessage and streaming.
LargeMessageBuffer will call flowcontrol here, while other handleMessage will also be calling flowControl.
So, this operation needs to be atomic.
- Specified by:
flowControl
in interface ClientConsumerInternal
- Throws:
MessagingException
Copyright © 2006 JBoss Inc. All Rights Reserved.