This is JBoss 3.2.6, Java 1.4.2
While debugging an issue, we did a thread dump on our application and noticed approximately 240 UIL2 ReadTask/WriteTask thread pairs. 116 pairs are associated w/ port 8093, which I would assume would represent our JMS queues and topics. 118 pairs are associated w/ some higher user port, which look like they would represent client subscriptions. Since those numbers seems very high for our application I looked at the jmx-console for more detail. We have a total (including the DLQ) of 12 topics/queues. Across all of the topics/queues, we have a total of 12 subscriptions/receivers. However, the DestinationManager MBean reports a ClientCount of 126.
Can anyone help me interpret this? What is the difference (and perhaps why the discrepancy) between the # of clients and subscriptions/receivers? How can we track down where all these threads are coming from?
Finally got around to doing some tracing - I turned on the TRACE logging for the TraceInterceptor. I can see subscriptions and unsubsciptions being logged.
The problem is that the ID identifing any particular subscription are bogus - always -2147483648 which is min int. Based on this information, it's not possible to correlate subscribes with the unsubscribes, so I can't see what's not being closed. Ideas?
2005-09-13 15:24:19,727 Thread-27528 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : subscribe
2005-09-13 15:24:19,727 Thread-27528 TRACE [org.jboss.mq.server.TracingInterceptor] ARG : Subscription[subId=-2147483
648 destination=TOPIC.FMLiveEventChangeTopic messageSelector=(JMSType = 'Updated' OR JMSType = 'Deleted' OR JMSType = 'N
ew') AND (DeviceType='SOLARIS' ) Local Create]
2005-09-13 15:26:19,304 Thread-27555 TRACE [org.jboss.mq.server.TracingInterceptor] CALLED : unsubscribe
2005-09-13 15:26:19,304 Thread-27555 TRACE [org.jboss.mq.server.TracingInterceptor] ARG : -2147483648
2005-09-13 15:26:19,305 Thread-27555 TRACE [org.jboss.mq.server.TracingInterceptor] RETURN : unsubscribe