We have had a system running an embedded SJMQ 4.1 Patch 2 (Build 2-a) for around five months without many problems, but a few transactional resend issues.
Recently - two days in a row with a restart in between - we have received the following Exception:
Closing: ???@10.178.176.23:0->jms:0 because "[B3004]: No threads are available to process a new connection on service jms. 1000 threads out of a maximum of 1000 threads are already in use by other connections. A minimum of 2 threads must be available to process the connection. Please either limit the # of connections or increase the imq.<service>.max_threads property. Closing the new connection. ". Count: service=0 broker=194
My question is simple:
Is there a known problem with this SJMQ build not to deal with closed connections properly?
or is it more likely:
a) More traffic running through the systems requiring more connections and thus more threads? (a bit odd, we are not aware of that this kind of traffic increase should be relevant).
or b) a connection somewhere is not being closed properly, thus causing a thread leak?
I would normally start investigating the two last issues before asking here, but if there actually is a known product problem it would be good to know about it in advance. We are planning an upgrade to MQ 4.1 Update 1 Patch 1 and subsequently it would be interesting to know if there is a product issue.
In addition - is the number of open connections a relevant place to start looking for this problem? or could there be other causes why threads are utilised and not freed?
Which "embedded" do you mean ? The MQ in-process mode for Java application was only added since 4.4u1 (4.1u3) or were you running SJMQ4.1 patch 2 in application server ? If yes, what is the name and version of the application server and which resource adapter ?