|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.util.AbstractCollection<E>
java.util.AbstractQueue<E>
com.caucho.jms.queue.AbstractDestination<E>
com.caucho.jms.queue.AbstractQueue<E>
com.caucho.jms.cluster.ClusterQueueImpl<X>
com.caucho.jms.ClusterQueue<X>
@Service @Configurable public class ClusterQueue<X extends java.io.Serializable>
ClusterQueue provides reliable point to point transfer of messages.
ClusterQueue runs on the Triad pod to provide clustered, uninterrupted services. Nodes in the cluster usescom.caucho.jms.RemoteQueue
to communicate with the ClusterQueue running on the Triad.
Send Message Workflow:
RemoteQueue's send() API RemoteQueueActor's send() API.
RemoteQueueActor uses BAM (Brokered Agent Messaging) APIs for
communicating with ClusterQueuecom.caucho.jms.cluster.TriadSendMessage
to the active server on the triad nodecom.caucho.jms.cluster.ClusterMessageService on the active
server on the triad node picks up the message and passes it to ClusterQueueRemoteQueue's receive() API RemoteQueueActor's receive() API.
RemoteQueueActor uses BAM (Brokered Agent Messaging) APIs for
communicating with ClusterQueuecom.caucho.jms.cluster.TriadReceiveQuery
to the active server on the triad node. This call is a blocking (aka
synchronous) call to the active server.com.caucho.jms.cluster.ClusterMessageService on the active
server on the triad node picks up the message and checks to see if there
are any messges in the ClusterQueue.RemoteQueue's
addListener() API RemoteQueueActor's readyToreceive() API.
RemoteQueueActor uses BAM (Brokered Agent Messaging) APIs for
communicating with ClusterQueuecom.caucho.jms.cluster.ReadyToReceiveMessage
to the active server on the triad node.com.caucho.jms.cluster.ClusterMessageService on the active
server on the triad node picks up the message and checks to see if there
are any messges in the ClusterQueue.com.caucho.jms.cluster.ReadyToReceiveMessage
to the active server on the triad node. This process will continue as long
as JMSListener is registered.
<web-app xmlns="http://caucho.com/ns/resin"
xmlns:jms="urn:java:com.caucho.jms">
<jms:ClusterQueue>
<jms:name>test</jms:name>
</jms:ClusterQueue>
</web-app>
| Constructor Summary | |
|---|---|
ClusterQueue()
|
|
ClusterQueue(java.lang.String name)
|
|
| Method Summary |
|---|
| Methods inherited from class com.caucho.jms.cluster.ClusterQueueImpl |
|---|
acknowledge, addMessageCallback, close, getConsumerCount, getQueueOwner, getQueueSize, hasMessage, hasMessage, init, isBackup, receive, receive, receiveEntry, receiveEntry, removeMessageCallback, rollback, send, setBackup, setCluster |
| Methods inherited from class com.caucho.jms.queue.AbstractQueue |
|---|
addListenerException, drainTo, drainTo, getBrowserList, getListenerFailCountTotal, getListenerFailLastTime, getReceiverCount, iterator, offer, offer, peek, poll, poll, postConstruct, put, receive, remainingCapacity, setQueueName, size, take |
| Methods inherited from class com.caucho.jms.queue.AbstractDestination |
|---|
generateMessageID, generateMessageID, getJMSDestination, getName, getQueueName, getTopicName, getUrl, setName, setSerializationHandle, toString |
| Methods inherited from class java.util.AbstractQueue |
|---|
add, addAll, clear, element, remove |
| Methods inherited from class java.util.AbstractCollection |
|---|
contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface javax.jms.Queue |
|---|
getQueueName, toString |
| Methods inherited from interface java.util.concurrent.BlockingQueue |
|---|
add, contains, remove |
| Methods inherited from interface java.util.Queue |
|---|
element, remove |
| Methods inherited from interface java.util.Collection |
|---|
addAll, clear, containsAll, equals, hashCode, isEmpty, removeAll, retainAll, toArray, toArray |
| Constructor Detail |
|---|
public ClusterQueue()
public ClusterQueue(java.lang.String name)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||