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 AUGUST 02, 2018

Applies to:

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

Symptoms

Scenario
----------
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().

Issue
-------
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.

Cause

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
Symptoms
Cause
Solution


This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.