5 Replies Latest reply on Feb 25, 2003 1:58 AM by Axel Mueller

    Serializable object hangs client during method call to EJB

    Axel Mueller Newbie

      I'm trying to pass a serializable object

      public class RequestTrace implements Serializable

      to a stateless session EJB.


      The method of the EJBs remote interface

      public ch.gbs.mex.domain.communication.PluginCallback getPartnerListe(ch.gbs.mex.domain.communication.RequestTrace requestTrace,java.lang.Integer bknr,java.lang.Integer paTyp) throws java.rmi.RemoteException;

      is called using reflection. I have a log statement which shows that the Method object is set up well:

      public final ch.gbs.mex.domain.communication.PluginCallback $Proxy2.getPartnerListe(ch.gbs.mex.domain.communication.RequestTrace,java.lang.Integer,java.lang.Integer) throws java.rmi.RemoteException

      However the client simply "hangs" during this call whereas the EJB does not even seem to receive the call. There is no Exception indicating that there is something wrong ...

      As soon as I remove the RequestTrace parameter from the EJBs method signature and modify the client accordingly everything works well.

      Is there anything special using serializable objects in conjunction with reflection?

      Axel

        • 1. Re: Serializable object hangs client during method call to E
          Adrian Brock Master

          Try taking a thread dump of the server and
          client.
          Is the class for the real object passed
          available on the server?

          ctrl-break on windows
          kill -3 on unix

          Regards,
          Adrian

          • 2. Re: Serializable object hangs client during method call to E
            Axel Mueller Newbie

            Interesting - never produced a thread dump so far.
            Dumps were taken while client was "hanging".

            BTW: I'm running JBoss 3.0.4 on Linux.

            Axel


            ***************
            * Server side *
            ***************

            [java] 19:28:42,472 INFO [Server] JBoss (MX MicroKernel) [3.0.4 Date:200211021607] Started in 1m:47s:745ms
            Full thread dump Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode):

            "Thread-5" daemon prio=1 tid=0x0x820c328 nid=0x19f3 runnable [be5ff000..be5ff880]
            at java.io.FileInputStream.readBytes(Native Method)
            at java.io.FileInputStream.read(FileInputStream.java:174)
            at org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:105)
            at java.lang.Thread.run(Thread.java:536)

            "Thread-4" daemon prio=1 tid=0x0x820bfa8 nid=0x19f2 runnable [be7ff000..be7ff880]
            at java.io.FileInputStream.readBytes(Native Method)
            at java.io.FileInputStream.read(FileInputStream.java:191)
            at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
            at java.io.BufferedInputStream.read1(BufferedInputStream.java:222)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
            - locked <0x44881748> (a java.io.BufferedInputStream)
            at java.io.FilterInputStream.read(FilterInputStream.java:90)
            at org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:105)
            at java.lang.Thread.run(Thread.java:536)

            "process reaper" daemon prio=1 tid=0x0x82cca78 nid=0x19f0 runnable [be9ff000..be9ff880]
            at java.lang.UNIXProcess.waitForProcessExit(Native Method)
            at java.lang.UNIXProcess.access$1500(UNIXProcess.java:20)
            at java.lang.UNIXProcess$2.run(UNIXProcess.java:127)

            "Signal Dispatcher" daemon prio=1 tid=0x0x808d1f8 nid=0x19ea waiting on condition [0..0]

            "Finalizer" daemon prio=1 tid=0x0x8086860 nid=0x19e7 in Object.wait() [bf3ff000..bf3ff880]
            at java.lang.Object.wait(Native Method)
            - waiting on <0x446dde28> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
            - locked <0x446dde28> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
            at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

            "Reference Handler" daemon prio=1 tid=0x0x8085c18 nid=0x19e6 in Object.wait() [bf5ff000..bf5ff880]
            at java.lang.Object.wait(Native Method)
            - waiting on <0x446dde90> (a java.lang.ref.Reference$Lock)
            at java.lang.Object.wait(Object.java:426)
            at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
            - locked <0x446dde90> (a java.lang.ref.Reference$Lock)

            "main" prio=1 tid=0x0x8051f08 nid=0x19e3 in Object.wait() [bfffc000..bfffcbb4]
            at java.lang.Object.wait(Native Method)
            - waiting on <0x44881000> (a java.lang.UNIXProcess)
            at java.lang.Object.wait(Object.java:426)
            at java.lang.UNIXProcess.waitFor(UNIXProcess.java:160)
            - locked <0x44881000> (a java.lang.UNIXProcess)
            at org.apache.tools.ant.taskdefs.Execute.waitFor(Execute.java:467)
            at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:449)
            at org.apache.tools.ant.taskdefs.Java.run(Java.java:460)
            at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:160)
            at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
            at org.apache.tools.ant.Task.perform(Task.java:317)
            at org.apache.tools.ant.Target.execute(Target.java:309)
            at org.apache.tools.ant.Target.performTasks(Target.java:334)
            at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
            at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371)
            at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
            at org.apache.tools.ant.Task.perform(Task.java:317)
            at org.apache.tools.ant.Target.execute(Target.java:309)
            at org.apache.tools.ant.Target.performTasks(Target.java:334)
            at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
            at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
            at org.apache.tools.ant.Main.runBuild(Main.java:610)
            at org.apache.tools.ant.Main.start(Main.java:196)
            at org.apache.tools.ant.Main.main(Main.java:235)

            "VM Thread" prio=1 tid=0x0x80829d8 nid=0x19e5 runnable

            "VM Periodic Task Thread" prio=1 tid=0x0x808bd40 nid=0x19e8 waiting on condition
            "Suspend Checker Thread" prio=1 tid=0x0x808c790 nid=0x19e9 runnable


            ***************
            * Client side *
            ***************


            run-single-test:
            [junit] Running ch.gbs.mex.domain.communication.PartnerPersistenceManagerPluginTest
            Full thread dump Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode):

            "Thread-5" daemon prio=1 tid=0x0x836ba18 nid=0x1a71 runnable [be5ff000..be5ff880]
            at java.io.FileInputStream.readBytes(Native Method)
            at java.io.FileInputStream.read(FileInputStream.java:174)
            at org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:105)
            at java.lang.Thread.run(Thread.java:536)

            "Thread-4" daemon prio=1 tid=0x0x836b698 nid=0x1a70 runnable [be7ff000..be7ff880]
            at java.io.FileInputStream.readBytes(Native Method)
            at java.io.FileInputStream.read(FileInputStream.java:191)
            at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
            at java.io.BufferedInputStream.read1(BufferedInputStream.java:222)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:277)
            - locked <0x44200bf0> (a java.io.BufferedInputStream)
            at java.io.FilterInputStream.read(FilterInputStream.java:90)
            at org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:105)
            at java.lang.Thread.run(Thread.java:536)

            "process reaper" daemon prio=1 tid=0x0x836b330 nid=0x1a6e runnable [be9ff000..be9ff880]
            at java.lang.UNIXProcess.waitForProcessExit(Native Method)
            at java.lang.UNIXProcess.access$1500(UNIXProcess.java:20)
            at java.lang.UNIXProcess$2.run(UNIXProcess.java:127)

            "Signal Dispatcher" daemon prio=1 tid=0x0x808d2b0 nid=0x1a68 waiting on condition [0..0]

            "Finalizer" daemon prio=1 tid=0x0x8086918 nid=0x1a65 in Object.wait() [bf3ff000..bf3ff880]
            at java.lang.Object.wait(Native Method)
            - waiting on <0x446dd0b0> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
            - locked <0x446dd0b0> (a java.lang.ref.ReferenceQueue$Lock)
            at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
            at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

            "Reference Handler" daemon prio=1 tid=0x0x8085cd0 nid=0x1a64 in Object.wait() [bf5ff000..bf5ff880]
            at java.lang.Object.wait(Native Method)
            - waiting on <0x446dd118> (a java.lang.ref.Reference$Lock)
            at java.lang.Object.wait(Object.java:426)
            at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
            - locked <0x446dd118> (a java.lang.ref.Reference$Lock)

            "main" prio=1 tid=0x0x8051fc0 nid=0x1a61 in Object.wait() [bfffc000..bfffcb64]
            at java.lang.Object.wait(Native Method)
            - waiting on <0x441ff2b0> (a java.lang.UNIXProcess)
            at java.lang.Object.wait(Object.java:426)
            at java.lang.UNIXProcess.waitFor(UNIXProcess.java:160)
            - locked <0x441ff2b0> (a java.lang.UNIXProcess)
            at org.apache.tools.ant.taskdefs.Execute.waitFor(Execute.java:467)
            at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:449)
            at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeAsForked(JUnitTask.java:680)
            at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:554)
            at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:527)
            at org.apache.tools.ant.Task.perform(Task.java:317)
            at org.apache.tools.ant.Target.execute(Target.java:309)
            at org.apache.tools.ant.Target.performTasks(Target.java:334)
            at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
            at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371)
            at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
            at org.apache.tools.ant.Task.perform(Task.java:317)
            at org.apache.tools.ant.Target.execute(Target.java:309)
            at org.apache.tools.ant.Target.performTasks(Target.java:334)
            at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
            at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371)
            at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143)
            at org.apache.tools.ant.Task.perform(Task.java:317)
            at org.apache.tools.ant.Target.execute(Target.java:309)
            at org.apache.tools.ant.Target.performTasks(Target.java:334)
            at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
            at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
            at org.apache.tools.ant.Main.runBuild(Main.java:610)
            at org.apache.tools.ant.Main.start(Main.java:196)
            at org.apache.tools.ant.Main.main(Main.java:235)

            "VM Thread" prio=1 tid=0x0x8082a90 nid=0x1a63 runnable

            "VM Periodic Task Thread" prio=1 tid=0x0x808bdf8 nid=0x1a66 waiting on condition
            "Suspend Checker Thread" prio=1 tid=0x0x808c848 nid=0x1a67 runnable

            • 3. Re: Serializable object hangs client during method call to E
              Axel Mueller Newbie

              I forgot to answer you other question:

              Yes, the class for the real object is available on the server. If it was not I would expect a ClassNotFoundException.

              Axel

              • 4. Re: Serializable object hangs client during method call to E
                Adrian Brock Master

                Hi, both thread dumps show ant waiting for a
                forked task (are you starting the server with ant?)

                Try using
                pstree -p
                to locate the pid for client and server processes.

                Regards,
                Adrian

                • 5. Re: Serializable object hangs client during method call to E
                  Axel Mueller Newbie

                  Hi Adrian,
                  Yes, I used to start JBoss on my local machin using Ant, because it could set up Classpath etc. for all libraries. Meanwhile we use a EAR which contains everything - no need to start from Ant anymore. I also noticed that the server was running in Client VM, should have been Server VM.
                  pstree -p is really helpful in locating the process id (always used ps so far).
                  The server was NOT started from ant this time but from a shell script using Server VM.
                  The client is actually a JUnit test class and the thread dump shows the thread in which it is running.
                  Client communication to server is handled by runnable objects passed to a pool of communication threads. There is some synchronization between the requesting thread and a communication thread but this worked well until I was trying to pass serializable objects.
                  Nothing has changed about the underlying problem - the hanging client.


                  **********
                  * Server *
                  **********

                  07:39:21,755 INFO [Server] JBoss (MX MicroKernel) [3.0.4 Date:200211021607] Started in 1m:19s:602ms
                  Full thread dump Java HotSpot(TM) Server VM (1.4.1_01-b01 mixed mode):

                  "Thread-24" daemon prio=1 tid=0x0x8383510 nid=0x79c in Object.wait() [b91ff000..b91ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x4557da50> (a org.jboss.util.timeout.TimeoutFactory)
                  at java.lang.Object.wait(Object.java:426)
                  at org.jboss.util.timeout.TimeoutFactory.doWork(TimeoutFactory.java:497)
                  - locked <0x4557da50> (a org.jboss.util.timeout.TimeoutFactory)
                  at org.jboss.util.timeout.TimeoutFactory.access$300(TimeoutFactory.java:27)
                  at org.jboss.util.timeout.TimeoutFactory$1.run(TimeoutFactory.java:542)

                  "RMI LeaseChecker" daemon prio=1 tid=0x0x87ab298 nid=0x794 waiting on condition [b95ff000..b95ff880]
                  at java.lang.Thread.sleep(Native Method)
                  at sun.rmi.transport.DGCImpl$LeaseChecker.run(DGCImpl.java:307)
                  at java.lang.Thread.run(Thread.java:536)

                  "JNP Server" prio=1 tid=0x0x8118ed0 nid=0x790 runnable [be7ff000..be7ff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44db6810> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at org.jnp.server.Main.run(Main.java:260)
                  at java.lang.Thread.run(Thread.java:536)

                  "JBoss Life Thread" prio=1 tid=0x0x824f580 nid=0x776 in Object.wait() [b97ff000..b97ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x45560d60> (a java.lang.Object)
                  at java.lang.Object.wait(Object.java:426)
                  at org.jboss.system.server.ServerImpl$1.run(ServerImpl.java:337)
                  - locked <0x45560d60> (a java.lang.Object)

                  "SessionScavenger" daemon prio=1 tid=0x0x899c868 nid=0x775 waiting on condition [b99ff000..b99ff880]
                  at java.lang.Thread.sleep(Native Method)
                  at org.mortbay.jetty.servlet.AbstractSessionManager$SessionScavenger.run(AbstractSessionManager.java:362)

                  "Thread-23" prio=1 tid=0x0x842a9b0 nid=0x767 in Object.wait() [b9bff000..b9bff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x45114c80> (a java.util.LinkedList)
                  at java.lang.Object.wait(Object.java:426)
                  at org.jboss.resource.connectionmanager.PoolFiller$1.run(PoolFiller.java:75)
                  - locked <0x45114c80> (a java.util.LinkedList)
                  at java.lang.Thread.run(Thread.java:536)

                  "Thread-22" prio=1 tid=0x0x88c3a10 nid=0x766 in Object.wait() [b9dff000..b9dff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x45114cf0> (a java.util.ArrayList)
                  at org.jboss.resource.connectionmanager.IdleRemover$1.run(IdleRemover.java:66)
                  - locked <0x45114cf0> (a java.util.ArrayList)
                  at java.lang.Thread.run(Thread.java:536)

                  "JAWS Preload reference handler" prio=1 tid=0x0x8263eb0 nid=0x765 in Object.wait() [b9fff000..b9fff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x451032f8> (a org.jboss.util.TimerQueue)
                  at org.jboss.util.TimerQueue$TimerTaskLoop.run(TimerQueue.java:148)
                  - locked <0x451032f8> (a org.jboss.util.TimerQueue)
                  at java.lang.Thread.run(Thread.java:536)

                  "Thread-21" daemon prio=1 tid=0x0x87a9e78 nid=0x764 in Object.wait() [ba1ff000..ba1ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x450f8f18> (a java.util.TaskQueue)
                  at java.util.TimerThread.mainLoop(Timer.java:429)
                  - locked <0x450f8f18> (a java.util.TaskQueue)
                  at java.util.TimerThread.run(Timer.java:382)

                  "EJB Passivator Thread" daemon prio=1 tid=0x0x8367d88 nid=0x763 in Object.wait() [ba3ff000..ba3ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x450f8f70> (a org.jboss.util.WorkerQueue)
                  at java.lang.Object.wait(Object.java:426)
                  at org.jboss.util.WorkerQueue.getJobImpl(WorkerQueue.java:133)
                  at org.jboss.util.WorkerQueue.getJob(WorkerQueue.java:121)
                  - locked <0x450f8f70> (a org.jboss.util.WorkerQueue)
                  at org.jboss.util.WorkerQueue$QueueLoop.run(WorkerQueue.java:206)
                  at java.lang.Thread.run(Thread.java:536)

                  "SessionScavenger" daemon prio=1 tid=0x0x88b4d98 nid=0x762 waiting on condition [ba5ff000..ba5ff880]
                  at java.lang.Thread.sleep(Native Method)
                  at org.mortbay.jetty.servlet.AbstractSessionManager$SessionScavenger.run(AbstractSessionManager.java:362)

                  "Thread-20" prio=1 tid=0x0x88fee38 nid=0x761 waiting on condition [ba7ff000..ba7ff880]
                  at java.lang.Thread.sleep(Native Method)
                  at org.hsqldb.Log.run(Log.java:119)
                  at java.lang.Thread.run(Thread.java:536)

                  "hypersonic-default" prio=1 tid=0x0x89320d0 nid=0x760 runnable [ba9ff000..ba9ff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44f81310> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at org.hsqldb.Embedded_Server.run(Embedded_Server.java:169)
                  at org.hsqldb.Embedded_Server.main(Embedded_Server.java:92)
                  at org.jboss.jdbc.HypersonicDatabase$2.run(HypersonicDatabase.java:186)

                  "UIL Worker" prio=1 tid=0x0x4ca7b1c0 nid=0x75f runnable [babff000..babff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44ec1fc0> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at org.jboss.mq.il.uil.UILServerILService.run(UILServerILService.java:184)
                  at java.lang.Thread.run(Thread.java:536)

                  "OIL Worker Server" prio=1 tid=0x0x4ca02950 nid=0x75e runnable [badff000..badff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44ec0588> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at org.jboss.mq.il.oil.OILServerILService.run(OILServerILService.java:471)
                  at java.lang.Thread.run(Thread.java:536)

                  "JBossMQ Cache Reference Softner" daemon prio=1 tid=0x0x4ca8c938 nid=0x75d in Object.wait() [bafff000..bafff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44eadd48> (a java.lang.ref.ReferenceQueue$Lock)
                  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
                  - locked <0x44eadd48> (a java.lang.ref.ReferenceQueue$Lock)
                  at org.jboss.mq.server.MessageCache.run(MessageCache.java:136)
                  at java.lang.Thread.run(Thread.java:536)

                  "SessionScavenger" daemon prio=1 tid=0x0x4ca6ab90 nid=0x75c waiting on condition [bb1ff000..bb1ff880]
                  at java.lang.Thread.sleep(Native Method)
                  at org.mortbay.jetty.servlet.AbstractSessionManager$SessionScavenger.run(AbstractSessionManager.java:362)

                  "Thread-19" daemon prio=1 tid=0x0x4ca6faf8 nid=0x75b in Object.wait() [bb3ff000..bb3ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e64e70> (a java.util.TaskQueue)
                  at java.util.TimerThread.mainLoop(Timer.java:429)
                  - locked <0x44e64e70> (a java.util.TaskQueue)
                  at java.util.TimerThread.run(Timer.java:382)

                  "AJP13Listener-4" prio=1 tid=0x0x820ec70 nid=0x75a in Object.wait() [bb5ff000..bb5ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e36b60> (a [Ljava.lang.Object;)
                  at org.mortbay.util.BlockingQueue.get(BlockingQueue.java:133)
                  - locked <0x44e36b60> (a [Ljava.lang.Object;)
                  at org.mortbay.util.ThreadPool.getJob(ThreadPool.java:547)
                  at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:678)
                  at java.lang.Thread.run(Thread.java:536)

                  "AJP13Listener-3" prio=1 tid=0x0x82f3508 nid=0x759 in Object.wait() [bb7ff000..bb7ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e36b60> (a [Ljava.lang.Object;)
                  at org.mortbay.util.BlockingQueue.get(BlockingQueue.java:133)
                  - locked <0x44e36b60> (a [Ljava.lang.Object;)
                  at org.mortbay.util.ThreadPool.getJob(ThreadPool.java:547)
                  at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:678)
                  at java.lang.Thread.run(Thread.java:536)

                  "AJP13Listener-2" prio=1 tid=0x0x81fc688 nid=0x758 in Object.wait() [bb9ff000..bb9ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e36b60> (a [Ljava.lang.Object;)
                  at org.mortbay.util.BlockingQueue.get(BlockingQueue.java:133)
                  - locked <0x44e36b60> (a [Ljava.lang.Object;)
                  at org.mortbay.util.ThreadPool.getJob(ThreadPool.java:547)
                  at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:678)
                  at java.lang.Thread.run(Thread.java:536)

                  "AJP13Listener-1" prio=1 tid=0x0x81ead70 nid=0x757 in Object.wait() [bbbff000..bbbff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e36b60> (a [Ljava.lang.Object;)
                  at org.mortbay.util.BlockingQueue.get(BlockingQueue.java:133)
                  - locked <0x44e36b60> (a [Ljava.lang.Object;)
                  at org.mortbay.util.ThreadPool.getJob(ThreadPool.java:547)
                  at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:678)
                  at java.lang.Thread.run(Thread.java:536)

                  "AJP13Listener-0" prio=1 tid=0x0x8807f58 nid=0x756 in Object.wait() [bbdff000..bbdff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e36b60> (a [Ljava.lang.Object;)
                  at org.mortbay.util.BlockingQueue.get(BlockingQueue.java:133)
                  - locked <0x44e36b60> (a [Ljava.lang.Object;)
                  at org.mortbay.util.ThreadPool.getJob(ThreadPool.java:547)
                  at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:678)
                  at java.lang.Thread.run(Thread.java:536)

                  "Acceptor ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8009]" prio=1 tid=0x0x84924c0 nid=0x755 runnable [bbfff000..bbfff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44e371c8> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at org.mortbay.util.ThreadedServer.acceptSocket(ThreadedServer.java:345)
                  at org.mortbay.util.ThreadedServer$Acceptor.run(ThreadedServer.java:514)

                  "SocketListener-4" prio=1 tid=0x0x89c5570 nid=0x754 in Object.wait() [bc1ff000..bc1ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e33238> (a [Ljava.lang.Object;)
                  at org.mortbay.util.BlockingQueue.get(BlockingQueue.java:133)
                  - locked <0x44e33238> (a [Ljava.lang.Object;)
                  at org.mortbay.util.ThreadPool.getJob(ThreadPool.java:547)
                  at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:678)
                  at java.lang.Thread.run(Thread.java:536)

                  "SocketListener-3" prio=1 tid=0x0x89a6580 nid=0x753 in Object.wait() [bc3ff000..bc3ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e33238> (a [Ljava.lang.Object;)
                  at org.mortbay.util.BlockingQueue.get(BlockingQueue.java:133)
                  - locked <0x44e33238> (a [Ljava.lang.Object;)
                  at org.mortbay.util.ThreadPool.getJob(ThreadPool.java:547)
                  at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:678)
                  at java.lang.Thread.run(Thread.java:536)

                  "SocketListener-2" prio=1 tid=0x0x89a5a00 nid=0x752 in Object.wait() [bc5ff000..bc5ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e33238> (a [Ljava.lang.Object;)
                  at org.mortbay.util.BlockingQueue.get(BlockingQueue.java:133)
                  - locked <0x44e33238> (a [Ljava.lang.Object;)
                  at org.mortbay.util.ThreadPool.getJob(ThreadPool.java:547)
                  at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:678)
                  at java.lang.Thread.run(Thread.java:536)

                  "SocketListener-1" prio=1 tid=0x0x82f36b8 nid=0x751 in Object.wait() [bc7ff000..bc7ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e33238> (a [Ljava.lang.Object;)
                  at org.mortbay.util.BlockingQueue.get(BlockingQueue.java:133)
                  - locked <0x44e33238> (a [Ljava.lang.Object;)
                  at org.mortbay.util.ThreadPool.getJob(ThreadPool.java:547)
                  at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:678)
                  at java.lang.Thread.run(Thread.java:536)

                  "SocketListener-0" prio=1 tid=0x0x87c4890 nid=0x750 in Object.wait() [bc9ff000..bc9ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44e33238> (a [Ljava.lang.Object;)
                  at org.mortbay.util.BlockingQueue.get(BlockingQueue.java:133)
                  - locked <0x44e33238> (a [Ljava.lang.Object;)
                  at org.mortbay.util.ThreadPool.getJob(ThreadPool.java:547)
                  at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:678)
                  at java.lang.Thread.run(Thread.java:536)

                  "Acceptor ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8080]" prio=1 tid=0x0x880cac0 nid=0x74f runnable [bcbff000..bcbff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44e33638> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at org.mortbay.util.ThreadedServer.acceptSocket(ThreadedServer.java:345)
                  at org.mortbay.util.ThreadedServer$Acceptor.run(ThreadedServer.java:514)

                  "Rollover" daemon prio=1 tid=0x0x8256b20 nid=0x74e waiting on condition [bcdff000..bcdff880]
                  at java.lang.Thread.sleep(Native Method)
                  at org.mortbay.util.RolloverFileOutputStream$Rollover.run(RolloverFileOutputStream.java:262)

                  "Thread-5" prio=1 tid=0x0x85d37c8 nid=0x74d runnable [bcfff000..bcfff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44dc8880> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at org.jboss.invocation.pooled.server.PooledInvoker.run(PooledInvoker.java:200)
                  at java.lang.Thread.run(Thread.java:536)

                  "RMI TCP Accept-4444" daemon prio=1 tid=0x0x8093a20 nid=0x74c runnable [bd1ff000..bd1ff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44dc7918> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:334)
                  at java.lang.Thread.run(Thread.java:536)

                  "RMI TCP Accept-0" daemon prio=1 tid=0x0x83b2380 nid=0x74b runnable [bd3ff000..bd3ff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44dc4d00> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:334)
                  at java.lang.Thread.run(Thread.java:536)

                  "GC Daemon" daemon prio=1 tid=0x0x8441ca8 nid=0x749 in Object.wait() [bd7ff000..bd7ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44db6928> (a sun.misc.GC$LatencyLock)
                  at sun.misc.GC$Daemon.run(GC.java:100)
                  - locked <0x44db6928> (a sun.misc.GC$LatencyLock)

                  "RMI Reaper" prio=1 tid=0x0x8441670 nid=0x748 in Object.wait() [bd9ff000..bd9ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44db6978> (a java.lang.ref.ReferenceQueue$Lock)
                  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
                  - locked <0x44db6978> (a java.lang.ref.ReferenceQueue$Lock)
                  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
                  at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:330)
                  at java.lang.Thread.run(Thread.java:536)

                  "Thread-4" daemon prio=1 tid=0x0x8558e18 nid=0x747 in Object.wait() [bdbff000..bdbff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44db69f0> (a java.util.TaskQueue)
                  at java.lang.Object.wait(Object.java:426)
                  at java.util.TimerThread.mainLoop(Timer.java:403)
                  - locked <0x44db69f0> (a java.util.TaskQueue)
                  at java.util.TimerThread.run(Timer.java:382)

                  "RMI TCP Accept-0" daemon prio=1 tid=0x0x83070c8 nid=0x746 runnable [bddff000..bddff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44db6a58> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at sun.rmi.transport.tcp.TCPTransport.run(TCPTransport.java:334)
                  at java.lang.Thread.run(Thread.java:536)

                  "Thread-3" daemon prio=1 tid=0x0x820f288 nid=0x745 runnable [bdfff000..bdfff880]
                  at java.net.PlainSocketImpl.socketAccept(Native Method)
                  at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
                  - locked <0x44dabea8> (a java.net.PlainSocketImpl)
                  at java.net.ServerSocket.implAccept(ServerSocket.java:439)
                  at java.net.ServerSocket.accept(ServerSocket.java:410)
                  at org.jboss.web.WebServer.run(WebServer.java:248)
                  at org.jboss.web.ThreadPool$Worker.run(ThreadPool.java:140)

                  "ScannerThread" daemon prio=1 tid=0x0x81732a0 nid=0x744 waiting on condition [be1ff000..be1ff880]
                  at java.lang.Thread.sleep(Native Method)
                  at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:231)
                  at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:202)

                  "Thread-2" daemon prio=1 tid=0x0x81da390 nid=0x743 in Object.wait() [be3ff000..be3ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44cbfb60> (a java.util.TaskQueue)
                  at java.util.TimerThread.mainLoop(Timer.java:429)
                  - locked <0x44cbfb60> (a java.util.TaskQueue)
                  at java.util.TimerThread.run(Timer.java:382)

                  "Thread-1" daemon prio=1 tid=0x0x4ca69400 nid=0x742 in Object.wait() [be5ff000..be5ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44b12088> (a java.lang.ref.ReferenceQueue$Lock)
                  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
                  - locked <0x44b12088> (a java.lang.ref.ReferenceQueue$Lock)
                  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
                  at org.jboss.mx.logging.LoggerContext$GarbageMonitor.run(LoggerContext.java:451)

                  "DestroyJavaVM" prio=1 tid=0x0x80f16f8 nid=0x723 waiting on condition [0..bfffcea4]

                  "Signal Dispatcher" daemon prio=1 tid=0x0x80b15c0 nid=0x73e waiting on condition [0..0]

                  "Finalizer" daemon prio=1 tid=0x0x80ab070 nid=0x73b in Object.wait() [bf3ff000..bf3ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44aeca60> (a java.lang.ref.ReferenceQueue$Lock)
                  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
                  - locked <0x44aeca60> (a java.lang.ref.ReferenceQueue$Lock)
                  at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
                  at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

                  "Reference Handler" daemon prio=1 tid=0x0x80aac28 nid=0x73a in Object.wait() [bf5ff000..bf5ff880]
                  at java.lang.Object.wait(Native Method)
                  - waiting on <0x44aec8c0> (a java.lang.ref.Reference$Lock)
                  at java.lang.Object.wait(Object.java:426)
                  at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
                  - locked <0x44aec8c0> (a java.lang.ref.Reference$Lock)

                  "VM Thread" prio=1 tid=0x0x80a81e8 nid=0x739 runnable

                  "VM Periodic Task Thread" prio=1 tid=0x0x80b0108 nid=0x73c waiting on condition
                  "Suspend Checker Thread" prio=1 tid=0x0x80b0b58 nid=0x73d runnable


                  **********
                  * Client *
                  **********

                  [junit] Full thread dump Java HotSpot(TM) Client VM (1.4.1_01-b01 mixed mode):

                  [junit] "RMI RenewClean-[127.0.0.2:4444]" daemon prio=1 tid=0x0x82d9ae8 nid=0x799 in Object.wait() [bddff000..bddff880]
                  [junit] at java.lang.Object.wait(Native Method)
                  [junit] - waiting on <0x4474e078> (a java.lang.ref.ReferenceQueue$Lock)
                  [junit] at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
                  [junit] - locked <0x4474e078> (a java.lang.ref.ReferenceQueue$Lock)
                  [junit] at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:500)
                  [junit] at java.lang.Thread.run(Thread.java:536)

                  [junit] "Thread-2" prio=1 tid=0x0x82e7cb8 nid=0x797 in Object.wait() [be1ff000..be1ff880]
                  [junit] at java.lang.Object.wait(Native Method)
                  [junit] - waiting on <0x4473e258> (a java.lang.Object)
                  [junit] at java.lang.Object.wait(Object.java:426)
                  [junit] at ch.gbs.mex.util.LinkedQueue.take(LinkedQueue.java:123)
                  [junit] - locked <0x4473e258> (a java.lang.Object)
                  [junit] at ch.gbs.mex.util.PlainWorkerPool$1.run(PlainWorkerPool.java:36)
                  [junit] at java.lang.Thread.run(Thread.java:536)

                  [junit] "Thread-1" prio=1 tid=0x0x82ea988 nid=0x796 in Object.wait() [be3ff000..be3ff880]
                  [junit] at java.lang.Object.wait(Native Method)
                  [junit] - waiting on <0x4473e258> (a java.lang.Object)
                  [junit] at java.lang.Object.wait(Object.java:426)
                  [junit] at ch.gbs.mex.util.LinkedQueue.take(LinkedQueue.java:123)
                  [junit] - locked <0x4473e258> (a java.lang.Object)
                  [junit] at ch.gbs.mex.util.PlainWorkerPool$1.run(PlainWorkerPool.java:36)
                  [junit] at java.lang.Thread.run(Thread.java:536)

                  [junit] "GC Daemon" daemon prio=1 tid=0x0x82e53a8 nid=0x792 in Object.wait() [be7ff000..be7ff880]
                  [junit] at java.lang.Object.wait(Native Method)
                  [junit] - waiting on <0x44734780> (a sun.misc.GC$LatencyLock)
                  [junit] at sun.misc.GC$Daemon.run(GC.java:100)
                  [junit] - locked <0x44734780> (a sun.misc.GC$LatencyLock)

                  [junit] "RMI RenewClean-[127.0.0.2:32844]" daemon prio=1 tid=0x0x82e4fc8 nid=0x791 in Object.wait() [be9ff000..be9ff880]
                  [junit] at java.lang.Object.wait(Native Method)
                  [junit] - waiting on <0x44734580> (a java.lang.ref.ReferenceQueue$Lock)
                  [junit] at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
                  [junit] - locked <0x44734580> (a java.lang.ref.ReferenceQueue$Lock)
                  [junit] at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:500)
                  [junit] at java.lang.Thread.run(Thread.java:536)

                  [junit] "Signal Dispatcher" daemon prio=1 tid=0x0x808e288 nid=0x78e waiting on condition [0..0]

                  [junit] "Finalizer" daemon prio=1 tid=0x0x8088910 nid=0x78b in Object.wait() [bf3ff000..bf3ff880]
                  [junit] at java.lang.Object.wait(Native Method)
                  [junit] - waiting on <0x446df998> (a java.lang.ref.ReferenceQueue$Lock)
                  [junit] at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
                  [junit] - locked <0x446df998> (a java.lang.ref.ReferenceQueue$Lock)
                  [junit] at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
                  [junit] at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

                  [junit] "Reference Handler" daemon prio=1 tid=0x0x8086df0 nid=0x78a in Object.wait() [bf5ff000..bf5ff880]
                  [junit] at java.lang.Object.wait(Native Method)
                  [junit] - waiting on <0x446dfa00> (a java.lang.ref.Reference$Lock)
                  [junit] at java.lang.Object.wait(Object.java:426)
                  [junit] at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:113)
                  [junit] - locked <0x446dfa00> (a java.lang.ref.Reference$Lock)

                  [junit] "main" prio=1 tid=0x0x80530f0 nid=0x785 in Object.wait() [bfffb000..bfffc328]
                  [junit] at java.lang.Object.wait(Native Method)
                  [junit] - waiting on <0x446fcab8> (a ch.gbs.mex.domain.communication.PartnerPersistenceManagerPluginTest)
                  [junit] at java.lang.Object.wait(Object.java:426)
                  [junit] at ch.gbs.mex.domain.communication.PartnerPersistenceManagerPluginTest.getPartnerListe(PartnerPersistenceManagerPluginTest.java:256)
                  [junit] - locked <0x446fcab8> (a ch.gbs.mex.domain.communication.PartnerPersistenceManagerPluginTest)
                  [junit] at ch.gbs.mex.domain.communication.PartnerPersistenceManagerPluginTest.testGetPartnerListeExterneKundenM100(PartnerPersistenceManagerPluginTest.java:76)
                  [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                  [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                  [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                  [junit] at java.lang.reflect.Method.invoke(Method.java:324)
                  [junit] at junit.framework.TestCase.runTest(TestCase.java:166)
                  [junit] at junit.framework.TestCase.runBare(TestCase.java:140)
                  [junit] at junit.framework.TestResult$1.protect(TestResult.java:106)
                  [junit] at junit.framework.TestResult.runProtected(TestResult.java:124)
                  [junit] at junit.framework.TestResult.run(TestResult.java:109)
                  [junit] at junit.framework.TestCase.run(TestCase.java:131)
                  [junit] at junit.framework.TestSuite.runTest(TestSuite.java:173)
                  [junit] at junit.framework.TestSuite.run(TestSuite.java:168)
                  [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:325)
                  [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:524)

                  [junit] "VM Thread" prio=1 tid=0x0x8083bb0 nid=0x789 runnable

                  [junit] "VM Periodic Task Thread" prio=1 tid=0x0x808cdd0 nid=0x78c waiting on condition
                  [junit] "Suspend Checker Thread" prio=1 tid=0x0x808d820 nid=0x78d runnable


                  Axel