8 Replies Latest reply on May 4, 2008 4:01 PM by kadlecp

    Simple ESB client problem

      Hello,

      I have created simple esb client with service invoker that delivers message to some service. It's simple java program with main. I have one problem ragarding to the fakt that the client never ends. The main thread is never killed because there are jms sessions, connections alive in esb pool. That's not probably a bug, but it's causes me the problem above. I have to manually kill the client and JBoss shows me warning about not closing all sessions, ....

      Can I something do with it, or is it a feature?:-)
      Thank you for answer
      Pavel

        • 1. Re: Simple ESB client problem

          I forgot to mention that I use JBESB_4_2_1_GA_CP2_2

          • 2. Re: Simple ESB client problem
            kconner

            Can you provide a thread dump?

            • 3. Re: Simple ESB client problem

              I very sorry but I don't know how generate thread dump. It's one of the a lot of things I don't know. Please can you advice me how to generate it?

              Thank you
              Pavel

              • 4. Re: Simple ESB client problem

                I got this with java.lang.Thread.getAllStackTraces()

                java.net.SocketInputStream.read(SocketInputStream.java:182)
                java.io.FilterInputStream.read(FilterInputStream.java:66)
                org.jboss.remoting.transport.bisocket.BisocketServerInvoker$ControlConnectionThread.run(BisocketServerInvoker.java:741)
                ******
                java.lang.Object.wait(Native Method)
                java.util.TimerThread.mainLoop(Timer.java:509)
                java.util.TimerThread.run(Timer.java:462)
                ******
                java.lang.Thread.dumpThreads(Native Method)
                java.lang.Thread.getAllStackTraces(Thread.java:1434)
                test.TestService.main(TestInvoiceService.java:55)
                ******

                • 5. Re: Simple ESB client problem

                  sorry that's not all!!

                  java.lang.Object.wait(Native Method)
                  java.lang.Object.wait(Object.java:474)
                  java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
                  ******
                  java.lang.Object.wait(Native Method)
                  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
                  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136)
                  java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
                  ******
                  java.lang.Object.wait(Native Method)
                  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
                  sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:501)
                  java.lang.Thread.run(Thread.java:595)
                  ******
                  java.lang.Thread.sleep(Native Method)
                  sun.rmi.transport.tcp.TCPChannel$Reaper.run(TCPChannel.java:446)
                  java.lang.Thread.run(Thread.java:595)
                  ******
                  java.lang.Object.wait(Native Method)
                  java.util.TimerThread.mainLoop(Timer.java:509)
                  java.util.TimerThread.run(Timer.java:462)
                  ******
                  java.lang.Object.wait(Native Method)
                  java.util.TimerThread.mainLoop(Timer.java:509)
                  java.util.TimerThread.run(Timer.java:462)
                  ******
                  ******
                  java.lang.Object.wait(Native Method)
                  sun.misc.GC$Daemon.run(GC.java:100)
                  ******
                  java.lang.Object.wait(Native Method)
                  java.lang.Object.wait(Object.java:474)
                  EDU.oswego.cs.dl.util.concurrent.LinkedQueue.take(LinkedQueue.java:122)
                  EDU.oswego.cs.dl.util.concurrent.QueuedExecutor$RunLoop.run(QueuedExecutor.java:83)
                  java.lang.Thread.run(Thread.java:595)
                  ******
                  java.net.SocketInputStream.socketRead0(Native Method)
                  java.net.SocketInputStream.read(SocketInputStream.java:129)
                  java.net.SocketInputStream.read(SocketInputStream.java:182)
                  java.io.FilterInputStream.read(FilterInputStream.java:66)
                  org.jboss.remoting.transport.bisocket.BisocketServerInvoker$ControlConnectionThread.run(BisocketServerInvoker.java:741)
                  ******
                  java.lang.Object.wait(Native Method)
                  java.util.TimerThread.mainLoop(Timer.java:509)
                  java.util.TimerThread.run(Timer.java:462)
                  ******
                  java.lang.Thread.dumpThreads(Native Method)
                  java.lang.Thread.getAllStackTraces(Thread.java:1434)
                  test.TestService.main(TestInvoiceService.java:55)
                  ******

                  • 6. Re: Simple ESB client problem
                    kconner

                    Can you follow the instructions on http://wiki.jboss.org/wiki/StackTrace and provide that output?

                    You should also remove your debugging code.

                    • 7. Re: Simple ESB client problem
                      tfennelly

                      As a matter of interest, which JMS Provider are you using? Are you using JBoss Messaging and if so, which version exactly?

                      • 8. Re: Simple ESB client problem

                        I am using JBossMessaging 1.4.0.SP3-CP02. I used to use JBossMessaging 1.4.0.SP3, but I had problems with duplicate messages (I received unique constraint violation on message id in tables JBM_MSG and JBM_MSG_REF). These duplicate messages came from esb management package. I have several JBoss servers in cluster connected by esb (one JBoss of them is juddi server). With upraged version these problems disapperead.

                        >Can you follow the instructions on http://wiki.jboss.org/wiki/StackTrace and provide that output?

                        As soon as possible I will report the results.