Problem:
- Product Name: Borland Enterprise Server, AppServer Edition
- Product Version: 6.0, 6.5, 6.6 & 6.7
- Platform/OS version: ALL
The number of JMS connections in JMX shows that the connections are not reduced after idleTimeout has kicked in. The test case is using these 2 properties in the sonic-resource.dar.
besConnectionPoolWaitTimeout=30
besConnectionPoolIdleTimeout=600
The test case is available in the\\examples\\ejb\\basic\\mdb\\src\\com\\borland\\examples\\ejb\\mdb example.
Resolution:
In the \\examples\\ejb\\basic\\mdb\\src\\com\\borland\\examples\\ejb\\mdb\\MessageReflector.java, the JMS Topic Connection is removed in the ejbRemove method of the Message DrivenBean (MDB).The Bean Providercannot assume that the Container will always invoke the ejbRemove() method on a message-driven bean instance. The following scenarios result in ejbRemove() notbeing called on an instance:
• A crash of the EJB Container.
• A system exception thrown from theinstance’s method to the Container.
If the message-drivenbean instance allocates resources in the ejbCreate()method and/or in theonMessage method,and releases normally the resources in the ejbRemove()method, these resources will not be automatically released in the above scenarios. The application using the message-driven bean should provide some clean up mechanism to periodically clean up the unreleased resources.
#Security
#VisiBroker