[jboss-user] [JBoss Messaging] - Bridge under load throws IllegalStateException
mclu
do-not-reply at jboss.com
Thu Sep 6 08:43:38 EDT 2007
Hi again!
I have my bridge up and running.
2 servers (A and B) and a middleware server (M).
on both servers there are 3 queues. The middlewareserver bridges them to its local queues. I am using QOS 2 (Transacted)
Messageflow is like
-A send to lokal.
-Bridged from A to M
-M processing and send processed to lokalQueue(M)
-Message bridged from M to B
-B processing message and send result to localQueue(B)
-Bridged to M
-result stored.
When I send a lot of messages I receive a stack traces is like:
| 14:41:44,250 ERROR [ClientConsumer] Failed to deliver message
| java.lang.IllegalStateException: There is already a delivery set for auto ack
| at org.jboss.jms.client.state.SessionState.setAutoAckInfo(SessionState.java:371)
| at org.jboss.jms.client.container.SessionAspect.handlePreDeliver(SessionAspect.java:258)
| at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect18.invoke(SessionAspect18.java)
| at org.jboss.jms.client.delegate.ClientSessionDelegate$preDeliver_5548846795541436298.invokeNext(ClientSessionDelegate$preDeliver_5548846795541436298.java)
| at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
| at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
| at org.jboss.jms.client.delegate.ClientSessionDelegate$preDeliver_5548846795541436298.invokeNext(ClientSessionDelegate$preDeliver_5548846795541436298.java)
| at org.jboss.jms.client.delegate.ClientSessionDelegate.preDeliver(ClientSessionDelegate.java)
| at org.jboss.jms.client.container.ClientConsumer.callOnMessage(ClientConsumer.java:150)
| at org.jboss.jms.client.container.ClientConsumer$ListenerRunner.run(ClientConsumer.java:941)
| at EDU.oswego.cs.dl.util.concurrent.QueuedExecutor$RunLoop.run(QueuedExecutor.java:89)
| at java.lang.Thread.run(Thread.java:619)
|
Its caused by the Bridge. My breakpoint stops on 3 threads related
my 3 queues. One example is listed below:
Variables of ClientConsumer.callOnMessage(SessionDelegate, MessageListener, String, String, boolean, MessageProxy, int, int, SessionDelegate, boolean):
| sess ClientSessionDelegate (id=315)
| listener Bridge$SourceListener (id=508)
| consumerID "a1-tcoi696f-1-l3lf696f-nkdb51-q4z24a"
| queueName "local_incomingSyncRequests"
| isConnectionConsumer false
| m TextMessageProxy (id=507)
| ackMode 0
| maxDeliveries 10
| connectionConsumerSession null
| shouldAck true
| deliveryInfo DeliveryInfo (id=367)
|
And SessionState Vars:
| this SessionState (id=310)
| acknowledgeMode 0
| asfMessages LinkedList<E> (id=395)
| autoAckInfo DeliveryInfo (id=399)
| callbackHandlers HashMap<K,V> (id=403)
| children HashSet<E> (id=408)
| clientAckList ArrayList<E> (id=396)
| currentTxId MessagingXid (id=419)
| delegate ClientSessionDelegate (id=315)
| dupsOKBatchSize 1000
| executor ClearableQueuedExecutor (id=423)
| parent ConnectionState (id=425)
| recoverCalled false
| sessionID "91-3hmi696f-1-l3lf696f-nkdb51-q4z24a"
| sessionListener null
| transacted true
| xa true
| xaResource MessagingXAResource (id=445)
| info DeliveryInfo (id=367)
| connectionConsumerSession null
| consumerId "a1-tcoi696f-1-l3lf696f-nkdb51-q4z24a"
| msg TextMessageProxy (id=507)
| queueName "local_incomingSyncRequests"
| shouldAck true
|
I have seen some references in the Design forum and version 1.2.
Do you have an Idea?
Oh forgot: I am using 1.4 cr2 and jboss 4.2.1GA..
Greets
Markus Lutum
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4081656#4081656
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4081656
More information about the jboss-user
mailing list