|
||||||||||
PREV CLASS NEXT CLASS (src) | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.mq.server.BasicQueue
This class represents a queue which provides it's messages exclusively to one consumer at a time.
Notes about synchronization: Much of the work is synchronized on the receivers or messages depending on the work performed. However, anything to do with unacknowledged messages and removed subscriptions must be done synchronized on both (receivers first). This is because there are multiple entry points with the possibility that a message acknowledgement (or NACK) is being processed at the same time as a network failure removes the subscription.
Constructor Summary | |
BasicQueue(JMSDestinationManager (src) server,
java.lang.String description,
BasicQueueParameters (src) parameters)
Construct a new basic queue |
Method Summary | |
void |
acknowledge(AcknowledgementRequest (src) item,
Tx (src) txId)
Acknowledge a message |
void |
addMessage(MessageReference (src) mes,
Tx (src) txId)
Add a message to the queue |
void |
addReceiver(Subscription (src) sub)
Add a receiver to the queue |
void |
addSubscriber(Subscription (src) sub)
Add a subscription from the queue |
protected void |
addToReceivers(Subscription (src) sub)
Add a receiver |
SpyMessage (src) [] |
browse(java.lang.String selector)
Browse the queue |
protected void |
clearEvent(MessageReference (src) message)
Clear the event for a message |
protected void |
clearEvents()
Clear all the events |
void |
createMessageCounter(java.lang.String name,
java.lang.String subscription,
boolean topic,
boolean durable,
int daycountmax)
Create message counter object |
protected void |
dropMessage(MessageReference (src) message)
Remove a message |
protected void |
dropMessage(MessageReference (src) message,
Tx (src) txid)
Remove a message |
java.lang.String |
getDescription()
Retrieve the unique description for this queue |
MessageCounter (src) |
getMessageCounter()
Get message counter object |
int |
getQueueDepth()
Retrieve the queue depth |
java.util.ArrayList |
getReceivers()
Retrieve the receivers waiting for a message |
int |
getReceiversCount()
Retrieve the number of receivers waiting for a message |
int |
getScheduledMessageCount()
Returns the number of scheduled messages in the queue |
boolean |
isInUse()
Test whether the queue is in use |
void |
nackMessages(Subscription (src) sub)
Nack all messages for a subscription |
protected void |
queueMessageForSending(Subscription (src) sub,
MessageReference (src) message)
Queue a message for sending through the client consumer |
SpyMessage (src) |
receive(Subscription (src) sub,
boolean wait)
Receive a message from the queue |
void |
removeAllMessages()
|
protected void |
removeReceiver(Subscription (src) sub)
Remove a receiver |
void |
removeSubscriber(Subscription (src) sub)
Removes a subscription from the queue |
void |
restoreMessage(MessageReference (src) mes)
Restores a message. |
protected void |
setupMessageAcknowledgement(Subscription (src) sub,
MessageReference (src) messageRef)
Setup a message acknowledgement |
void |
stop()
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public BasicQueue(JMSDestinationManager (src) server, java.lang.String description, BasicQueueParameters (src) parameters) throws JMSException (src)
server
- the destination managerdescription
- a description to uniquely identify the queueparameters
- the basic queue parametersMethod Detail |
public java.lang.String getDescription()
public int getReceiversCount()
public java.util.ArrayList getReceivers()
public boolean isInUse()
public void addReceiver(Subscription (src) sub) throws JMSException (src)
sub
- the subscription to add
JMSException (src)
public void addSubscriber(Subscription (src) sub) throws JMSException (src)
sub
- the subscription to add
JMSException (src)
public void removeSubscriber(Subscription (src) sub)
sub
- the subscription to removepublic int getQueueDepth()
public int getScheduledMessageCount()
public void addMessage(MessageReference (src) mes, Tx (src) txId) throws JMSException (src)
mes
- the message referencetxId
- the transaction
JMSException (src)
- for any errorpublic void restoreMessage(MessageReference (src) mes)
public SpyMessage (src) [] browse(java.lang.String selector) throws JMSException (src)
selector
- the selector to apply, pass null for
all messages
JMSException (src)
- for any errorpublic SpyMessage (src) receive(Subscription (src) sub, boolean wait) throws JMSException (src)
wait
- whether to wait for a message
JMSException (src)
- for any errorpublic void acknowledge(AcknowledgementRequest (src) item, Tx (src) txId) throws JMSException (src)
item
- the acknowledgement request
JMSException (src)
- for any errorpublic void nackMessages(Subscription (src) sub)
sub
- the subscriptionpublic void removeAllMessages() throws JMSException (src)
JMSException (src)
public void stop()
public void createMessageCounter(java.lang.String name, java.lang.String subscription, boolean topic, boolean durable, int daycountmax)
name
- topic/queue namesubscription
- topic subscriptiontopic
- topic flagdurable
- durable subscription flagdaycountmax
- message history day count limit
0: disabled,
>0: max day count,
<0: unlimitedpublic MessageCounter (src) getMessageCounter()
public java.lang.String toString()
protected void clearEvents()
protected void clearEvent(MessageReference (src) message)
message
- the message referenceprotected void addToReceivers(Subscription (src) sub) throws JMSException (src)
sub
- the receiver to add
JMSException (src)
protected void removeReceiver(Subscription (src) sub)
sub
- the receiver to removeprotected void queueMessageForSending(Subscription (src) sub, MessageReference (src) message)
sub
- the subscirption to receive the messagemessage
- the message reference to queueprotected void setupMessageAcknowledgement(Subscription (src) sub, MessageReference (src) messageRef) throws JMSException (src)
sub
- the subscription receiving the messagemessageRef
- the message to be acknowledged
JMSException (src)
- for any errorprotected void dropMessage(MessageReference (src) message)
message
- the message to removeprotected void dropMessage(MessageReference (src) message, Tx (src) txid)
message
- the message to removetxid
- the transaction context for the removal
|
||||||||||
PREV CLASS NEXT CLASS (src) | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |