[jboss-user] [JBoss Messaging] - long live consumer stops working

bodrin do-not-reply at jboss.com
Thu Jan 17 06:32:37 EST 2008


jboss-messaging-1.4.0.SP2 / jboss-4.2.0.GA

I have a single queue consumer which servives cluster restarts like the JMSConnectionExceptionListener : http://wiki.jboss.org/wiki/Wiki.jsp?page=JMSConnectionExceptionListener.

My test is sending 20 messages at a time and the consumer receives them.

The problem is that if I leave it to not send messages for some time, when I go to luchn for example, and then I'm sending the messages, but the consumer does not receive them anymore.
If I check for the messages via jmx-console - I see that they are in the queue.

Every five minutes say I see some repeatable debug messages:

  | [RMI RenewClean-[centos9.localdomain:1201]] DEBUG sun.rmi.client.ref - RMI RenewClean-[centos9.localdomain:1201]: get connection
  | [RMI RenewClean-[centos9.localdomain:1201]] DEBUG sun.rmi.transport.tcp - RMI RenewClean-[centos9.localdomain:1201]: create connection
  | [RMI RenewClean-[centos9.localdomain:1201]] DEBUG sun.rmi.transport.tcp.proxy - RMI RenewClean-[centos9.localdomain:1201]: host: centos9.localdomain, port: 1201
  | [RMI RenewClean-[centos9.localdomain:1201]] DEBUG sun.rmi.loader - RMI RenewClean-[centos9.localdomain:1201]: name = "java.rmi.dgc.Lease", codebase = "http://centos9.localdomain:8183/"
  | [RMI RenewClean-[centos9.localdomain:1201]] DEBUG sun.rmi.loader - RMI RenewClean-[centos9.localdomain:1201]: name = "java.rmi.dgc.VMID", codebase = "http://centos9.localdomain:8183/"
  | [RMI RenewClean-[centos9.localdomain:1201]] DEBUG sun.rmi.loader - RMI RenewClean-[centos9.localdomain:1201]: name = "[B", codebase = ""
  | [RMI RenewClean-[centos9.localdomain:1201]] DEBUG sun.rmi.loader - RMI RenewClean-[centos9.localdomain:1201]: name = "java.rmi.server.UID", codebase = "http://centos9.localdomain:8183/"
  | [RMI RenewClean-[centos9.localdomain:1201]] DEBUG sun.rmi.client.ref - RMI RenewClean-[centos9.localdomain:1201]: free connection (reuse = true)
  | [RMI RenewClean-[centos9.localdomain:1201]] DEBUG sun.rmi.transport.tcp - RMI RenewClean-[centos9.localdomain:1201]: reuse connection
  | [RMI RenewClean-[centos9.localdomain:1201]] DEBUG sun.rmi.transport.tcp - RMI RenewClean-[centos9.localdomain:1201]: create reaper
  | [RMI Scheduler(0)] DEBUG sun.rmi.transport.tcp - RMI Scheduler(0): close connection
  | 

Here is also the thread dump:

  | 
  | Full thread dump Java HotSpot(TM) Client VM (1.6.0_02-b06 mixed mode):
  | 
  | "Thread-41" daemon prio=6 tid=0x0b468800 nid=0x9fc in Object.wait() [0x0ccff000..0x0ccffc94]
  |    java.lang.Thread.State: WAITING (on object monitor)
  |         at java.lang.Object.wait(Native Method)
  |         at java.lang.Object.wait(Object.java:485)
  |         at EDU.oswego.cs.dl.util.concurrent.LinkedQueue.take(LinkedQueue.java:122)
  |         - locked <0x03961d88> (a java.lang.Object)
  |         at EDU.oswego.cs.dl.util.concurrent.QueuedExecutor$RunLoop.run(QueuedExecutor.java:83)
  |         at java.lang.Thread.run(Unknown Source)
  | 
  | "WorkerThread#5[10.58.100.119:2193]" daemon prio=6 tid=0x0b14c400 nid=0x106c runnable [0x0cb6f000..0x0cb6fd14]
  |    java.lang.Thread.State: RUNNABLE
  |         at java.net.SocketInputStream.socketRead0(Native Method)
  |         at java.net.SocketInputStream.read(Unknown Source)
  |         at java.io.BufferedInputStream.fill(Unknown Source)
  |         at java.io.BufferedInputStream.read(Unknown Source)
  |         - locked <0x03971e80> (a java.io.BufferedInputStream)
  |         at java.io.FilterInputStream.read(Unknown Source)
  |         at org.jboss.remoting.transport.socket.ServerThread.readVersion(ServerThread.java:824)
  |         at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:510)
  |         at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:387)
  |         at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:166)
  | 
  | "control: Socket[addr=centos9.localdomain/10.58.100.119,port=2193,localport=36069]" daemon prio=6 tid=0x0be29800 nid=0xcf0 runnable [0x0ccaf000..0x0ccafd94]
  |    java.lang.Thread.State: RUNNABLE
  |         at java.net.SocketInputStream.socketRead0(Native Method)
  |         at java.net.SocketInputStream.read(Unknown Source)
  |         at java.net.SocketInputStream.read(Unknown Source)
  |         at java.io.FilterInputStream.read(Unknown Source)
  |         at org.jboss.remoting.transport.bisocket.BisocketServerInvoker$ControlConnectionThread.run(BisocketServerInvoker.java:741)
  | 
  | "control: Socket[addr=centos9.localdomain/10.58.100.119,port=2193,localport=36068]" daemon prio=6 tid=0x0be29400 nid=0xde4 runnable [0x0cc0f000..0x0cc0fa14]
  |    java.lang.Thread.State: RUNNABLE
  |         at java.net.SocketInputStream.socketRead0(Native Method)
  |         at java.net.SocketInputStream.read(Unknown Source)
  |         at java.net.SocketInputStream.read(Unknown Source)
  |         at java.io.FilterInputStream.read(Unknown Source)
  |         at org.jboss.remoting.transport.bisocket.BisocketServerInvoker$ControlConnectionThread.run(BisocketServerInvoker.java:741)
  | 
  | "Thread-36" daemon prio=6 tid=0x0b4e0800 nid=0x1434 in Object.wait() [0x0cc5f000..0x0cc5fb94]
  |    java.lang.Thread.State: WAITING (on object monitor)
  |         at java.lang.Object.wait(Native Method)
  |         at java.lang.Object.wait(Object.java:485)
  |         at EDU.oswego.cs.dl.util.concurrent.LinkedQueue.take(LinkedQueue.java:122)
  |         - locked <0x03949e80> (a java.lang.Object)
  |         at EDU.oswego.cs.dl.util.concurrent.QueuedExecutor$RunLoop.run(QueuedExecutor.java:83)
  |         at java.lang.Thread.run(Unknown Source)
  | 
  | "Thread-27" daemon prio=6 tid=0x0b1b3400 nid=0x12c4 in Object.wait() [0x0cd9f000..0x0cd9fc14]
  |    java.lang.Thread.State: WAITING (on object monitor)
  |         at java.lang.Object.wait(Native Method)
  |         at java.lang.Object.wait(Object.java:485)
  |         at EDU.oswego.cs.dl.util.concurrent.LinkedQueue.take(LinkedQueue.java:122)
  |         - locked <0x03901d40> (a java.lang.Object)
  |         at EDU.oswego.cs.dl.util.concurrent.QueuedExecutor$RunLoop.run(QueuedExecutor.java:83)
  |         at java.lang.Thread.run(Unknown Source)
  | 
  | "JDWP Transport Listener: dt_socket" daemon prio=6 tid=0x0bf45c00 nid=0x1318 runnable [0x00000000..0x00000000]
  |    java.lang.Thread.State: RUNNABLE
  | 
  | "WorkerThread#0[10.58.100.119:2706]" daemon prio=6 tid=0x0b47ec00 nid=0x134 runnable [0x0b77f000..0x0b77fd94]
  |    java.lang.Thread.State: RUNNABLE
  |         at java.net.SocketInputStream.socketRead0(Native Method)
  |         at java.net.SocketInputStream.read(Unknown Source)
  |         at java.io.BufferedInputStream.fill(Unknown Source)
  |         at java.io.BufferedInputStream.read(Unknown Source)
  |         - locked <0x038f1990> (a java.io.BufferedInputStream)
  |         at java.io.FilterInputStream.read(Unknown Source)
  |         at org.jboss.remoting.transport.socket.ServerThread.readVersion(ServerThread.java:824)
  |         at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:510)
  |         at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:387)
  |         at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:166)
  | 
  | "RMI Scheduler(0)" daemon prio=6 tid=0x0aaf5400 nid=0x1270 waiting on condition [0x0ca7f000..0x0ca7fd94]
  |    java.lang.Thread.State: WAITING (parking)
  |         at sun.misc.Unsafe.park(Native Method)
  |         - parking to wait for  <0x037cc6f8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
  |         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
  |         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
  |         at java.util.concurrent.DelayQueue.take(Unknown Source)
  |         at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
  |         at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
  |         at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
  |         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  |         at java.lang.Thread.run(Unknown Source)
  | 
  | "RMI RenewClean-[centos9.localdomain:1201]" daemon prio=6 tid=0x0aaef800 nid=0xbcc in Object.wait() [0x0c9df000..0x0c9dfa94]
  |    java.lang.Thread.State: TIMED_WAITING (on object monitor)
  |         at java.lang.Object.wait(Native Method)
  |         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
  |         - locked <0x037cc7c0> (a java.lang.ref.ReferenceQueue$Lock)
  |         at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(Unknown Source)
  |         at java.lang.Thread.run(Unknown Source)
  | 

Do you have any idea what could be the problem?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4120813#4120813

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4120813



More information about the jboss-user mailing list