My Oracle Support Banner

Java Data Bean creates a separate thread for each SISNAPI connection. Connection pooling keeps the connections open and thus keeps the Java threads alive. (Doc ID 1075637.1)

Last updated on NOVEMBER 22, 2019

Applies to:

Siebel Tools - Version [20417] to [21238] [Release V8]
Information in this document applies to any platform.
Checked for relevance on 30-AUG-2016.


A Java program starts several threads.

Each thread instantiates its own copy of a Siebel Java Data Bean (JDB) object.

The threads execute some Siebel operations and then close the session by calling logoff().

A monitoring tool revealed that all threads continued to be active even after the call to logoff(). They were staying alive as long as the main thread stayed alive.

Loss of functionality
Pending threads will accumulate on the Java virtual machine (JVM). Each pending thread consumes some memory, which eventually leads to an out-of-memory situation. So ultimately either the JVM or the Siebel object manager needs to be restarted in order to terminate all pending threads.

Significance of loss
"Zero downtime" operation of the Java program is not possible. Operation will be interrupted frequently; either by out of memory errors, or by scheduled server restarts.

Expected behavior
After invoking logoff(), the thread should stop immediately and release any resources it has allocated.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.