Hi,
We've a web-service which creates a pool of 10 threads (one for each upstream transaction) using ExecutorService API. Each of these connects to downstream CORBA via Orbix. But after the job is over the connection pool is destroyed using executor.shutdown() API. But what is happening is after a while I see 1000s of Orbix threads in TIMED_WAITING state which is forcing us to restart Weblogic which hosts the web-service. Since we don't create actual threads, I believe Orbix creates them and destroys them after *some* criteria. So, I am interested in knowing, if there is any known issue with Orbix 3 on not killing or destroying threads.
Here's the stack trace. There are about 2800 threads in this state ! This happens after almost a days's worth of load and we have to restart weblogic or we'll hit the "java.lang.OutOfMemoryError: Unable to create new native thread"
"OrbixWeb Connection Monitor thread" - Thread t@573
java.lang.Thread.State: TIMED_WAITING
at java.lang.Object.wait(Native Method)
- waiting on <302d858f> (a IE.Iona.OrbixWeb.CORBA.ConnectTable)
at IE.Iona.OrbixWeb.CORBA.ConnectTable.run(ConnectTable.java:91)
at java.lang.Thread.run(Thread.java:682)
Orbix version: Orbix 3
Any suggestions or help is highly appreciated.
Chandramouli
#Orbix