3 Replies Latest reply on Nov 26, 2010 7:16 AM by triff

    After migrating from JBossMQ to JBM:

    the_olo

      Hi!

      After migrating from JBoss MQ to JBoss Messaging (which also required deploying the relevant queues manually), our installation of jBPM-BPEL has started throwing the following exception in the logs:


      2009-10-01 12:51:46,648 ERROR [org.jboss.jms.client.container.ClosedInterceptor] ClosedInterceptor.ClientSessionDelegate[46-n2vsd90g-1-2wuqd90g-x8tmkt-100j3]:
       method postDeliver() did not go through, the interceptor is CLOSED
      2009-10-01 12:51:46,648 ERROR [org.jboss.jms.client.container.ClientConsumer] Failed to deliver message
      javax.jms.IllegalStateException: The object is closed
       at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:157)
       at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
       at org.jboss.jms.client.delegate.ClientSessionDelegate$postDeliver_1255239194451907669.invokeNext(ClientSessionDelegate$postDeliver_125523919445190766
      9.java)
       at org.jboss.jms.client.delegate.ClientSessionDelegate.postDeliver(ClientSessionDelegate.java)
       at org.jboss.jms.client.container.ClientConsumer.callOnMessage(ClientConsumer.java:253)
       at org.jboss.jms.client.container.ClientConsumer$ListenerRunner.run(ClientConsumer.java:1043)
       at org.jboss.messaging.util.OrderedExecutorFactory$ChildExecutor.run(OrderedExecutorFactory.java:120)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
       at java.lang.Thread.run(Thread.java:595)



      This is thrown after the SOAP response is sent back to the client, at the end of BPEL process execution, so it doesn't seem to influence its correct outcome. However, I'm afraid of any side effects (e.g. performance issues, rolled back XA transactions?).

      One more symptom that I've observed is that message counters on the queues aren't incremented in queue MBeans (name=JbpmCommandQueue,service=Queue and name=JbpmJobQueue,service=Queue) - I think it could be related to this exception.


      Here's how the queue MBeans are configured for jBPM-BPEL:


      <?xml version="1.0" encoding="UTF-8"?>
      <server>
       <mbean code="org.jboss.jms.server.destination.QueueService"
       name="jboss.messaging.destination:service=Queue,name=JbpmCommandQueue"
       xmbean-dd="xmdesc/Queue-xmbean.xml">
       <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
       <depends>jboss.messaging:service=PostOffice</depends>
       </mbean>
       <mbean code="org.jboss.jms.server.destination.QueueService"
       name="jboss.messaging.destination:service=Queue,name=JbpmJobQueue"
       xmbean-dd="xmdesc/Queue-xmbean.xml">
       <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
       <depends>jboss.messaging:service=PostOffice</depends>
       </mbean>
      </server>
      


      Any ideas what might cause the problem?


        • 1. Re: After migrating from JBossMQ to JBM:
          the_olo

          BTW, some instances of this exception are accompanied by message delivery failures:

          2009-10-06 12:42:20,704 WARN [org.jboss.jms.client.container.ClientConsumer] Timed out waiting for last delivery 1 got 0
          2009-10-06 12:42:20,709 ERROR [org.jboss.jms.client.container.ClosedInterceptor] ClosedInterceptor.ClientSessionDelegate[1q1-nuttig0g-1-i1bc6f0g-oiap2t-100j3]
          : method postDeliver() did not go through, the interceptor is CLOSED
          2009-10-06 12:42:20,709 ERROR [org.jboss.jms.client.container.ClientConsumer] Failed to deliver message
          javax.jms.IllegalStateException: The object is closed
           at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:157)
           at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
           at org.jboss.jms.client.delegate.ClientSessionDelegate$postDeliver_1255239194451907669.invokeNext(ClientSessionDelegate$postDeliver_125523919445190766
          9.java)
           at org.jboss.jms.client.delegate.ClientSessionDelegate.postDeliver(ClientSessionDelegate.java)
           at org.jboss.jms.client.container.ClientConsumer.callOnMessage(ClientConsumer.java:253)
           at org.jboss.jms.client.container.ClientConsumer$ListenerRunner.run(ClientConsumer.java:1043)
           at org.jboss.messaging.util.OrderedExecutorFactory$ChildExecutor.run(OrderedExecutorFactory.java:120)
           at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
           at java.lang.Thread.run(Thread.java:595)


          The delivery failure occurs after a 30 second timeout from the moment the message had been sent.

          This isn't harmless anymore, as it causes 30 second long process executions and then failure sent back to the client.

          • 2. Re: After migrating from JBossMQ to JBM:
            gaohoward

            Hi can you tell the version of JBM you using? Thanks.

            • 3. Re: After migrating from JBossMQ to JBM:
              triff

              i come with the same problem

              i'm using:

              jboss 5.0

              bpel 1.1.1