Skip to main content

Problem:

  • Product Name: Borland Application Server
  • Product Versions: 6.0, 6.5, 6.6, 6.7
  • Platform/ OS version: All Platforms

Garbage Collection does not clean up connections(VisiConnect)

In the VisiConnect Developer guide, it states VisiConnect automatically detects connection leaks by leveraging its Java Virtual Machine (JVM) garbage collector mechanism. When an application component terminates and the connections it uses become de-referenced, the garbage collector calls the connection object's finalize() method. When the garbage collector calls the finalize() method, if VisiConnect determines the application component has not closed the connection, the server will automatically closes the connection by calling the resource adapter's ManagedConnection.cleanup() method. VisiConnect behaves as it would had it received a CONNECTION_CLOSED event upon proper closure of the application component connection.

Resolution:

However, VisiConnect is not able to call insert the ManagedConnection.cleanup() method into the connection finalize method. This is because ManagedConnection and Connection classes are supplied by the Resource Adapter. Therefore, VisiConnect is not able to clean up the connections that are not closed by using garbage collection.

A CR 9564 to change the documentation for VisiConnect has been raised.


#VisiBroker
#VisiConnect
#GarbageCollection
#Security