Uploaded image for project: 'ServiceMix Components'
  1. ServiceMix Components
  2. SMXCOMP-19

Either servicemix-bean or servicemix-jms do not function properly.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Blocker
    • Resolution: Unresolved
    • 3.2.3, servicemix-bean-2008.01, servicemix-jms-2008.01
    • 2013.02
    • None
    • Windows XP, 4GB mem, jdk 1.6

    Description

      At some point during the 3.3 SNAPSHOT releases, our application stopped working. I did not have a chance to get a concrete case together to illustrate the problem until now. The test case is as follows (client sends 2000 JMS messages):

      Client JMS App -> JMS consumer -> servicemix-bean -> JMS provider

      The attached project works perfectly fine on a 3.3-SNAPSHOT release I have which appears to be from August 22nd. I've never been able to get this sequence to work since, it appears that the servicemix-bean SU will choke after a couple hundred messages and freeze up.

      When I run the described test on my August 22nd servicemix I will end up with 2000 messages having been queued and dequeued from the test.source topic and queued on the test.destination topic.

      When I run the described test on the 3.3 release, I will end up with 2000 message enqueued and dispatched on the test.source topic, but only 576 dequeued. It mentions the other 1474 are in flight.

      If I look at the threads, I see a bunch that are stuck waiting for an exchange (I'm guessing the servicemix-jms component never sends a reply?):

      Name: pool-flow.seda.servicemix-bean-thread-7
      State: WAITING on org.apache.servicemix.jbi.messaging.InOnlyImpl@158ef1f
      Total blocked: 0 Total waited: 1

      Stack trace:
      java.lang.Object.wait(Native Method)
      org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.waitForExchange(DeliveryChannelImpl.java:709)
      org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:472)
      org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:442)
      org.apache.servicemix.client.DefaultServiceMixClient.sendSync(DefaultServiceMixClient.java:156)
      test.BeanImpl.onMessageExchange(BeanImpl.java:96)
      org.apache.servicemix.bean.BeanEndpoint.onProviderExchange(BeanEndpoint.java:226)

      • locked org.apache.servicemix.bean.support.Request@1b2a9cf
        org.apache.servicemix.bean.BeanEndpoint.process(BeanEndpoint.java:212)
        org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:600)
        org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:554)
        org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:510)
        org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
        org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
        org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
        org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        java.lang.Thread.run(Thread.java:619)

      This seems to be a bug to me since it worked on that one 3.3-SNAPSHOT, but not on any since. The 3.3-SNAPSHOT I have is also before the renaming of components to 2008.01.

      I'll try a few other tests to see if I can narrow down any other cause since I would really like to get upgraded to the full release.

      Attached is a small project that will allow you to reproduce this issue, it's just a modification of the bridge sample with an extra SU in it. Here is all you need to do:

      1. Build the attached project.
      2. Deploy the built bridge-test-sa-3.3.zip
      3. execute "java -jar test-jms-client-1.0.one-jar.jar" from the bridge-test/test-jms-client/target directory.

      Attachments

        1. using-old-jms-provider.JPG
          124 kB
          Ryan Moquin
        2. using-new-jms-provider.JPG
          131 kB
          Ryan Moquin
        3. bridge-test.zip
          13 kB
          Ryan Moquin

        Activity

          People

            Unassigned Unassigned
            rmoquin Ryan Moquin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: