In WebSphere 6, New connection is being requested from Pool when there is
ActionForward from one Action class to other action class
------------------------------------------------------------------------------------------------------------------------------------
Key: STR-2970
URL: http://issues.apache.org/struts/browse/STR-2970
Project: Struts 1
Issue Type: Bug
Affects Versions: 1.0.1 Final
Environment: WebSphere , with Oracle 10G database.
Reporter: Kishore
On webSphere server when the on the datasoruce with
oracle.jdbc.pool.OracleConnectionPoolDataSource
In the connection pool properties, Max number of connection is 1 and min number
of connections is 1.
Request comes to an Action class connection is obtained with in the action
class and closed the connection.
Control will be forwarded from one action class to other action class using a
global-forward and action mapping declaration
for example
<global-forwards>
<forward name="AllwdRSRetrieveAction"
path="/allowedRoutingSheet.do?activity=retrieveFormDetails"></forward>
</global-forwards>
<action-mappings>
<action path="/allowedRoutingSheet" name="AllowedActionForm"
scope="request" parameter="activity"
type="gov.uspto.qrs.web.action.exmr.RoutingSheetAction">
<forward name="OpqaExmrAllwdRoutingSheetV1"
path="OpqaExmrAllwdRoutingSheetV1" ></forward>
<forward name="OpqaExmrAllwdRoutingSheetPrintV1"
path="exmr/jsp/allowed/print/OpqaExmrAllwdRoutingSheetPrintV1.jsp" ></forward>
</action>
</actions-mappings>
. When the control enters the second action class. getConnection() method waits
for timeout as the datasource doesn;t return any connection. Connection can be
obtained and closed any number of times with in single action class. But when
the control forwards from one action class to other action class using global
forward , The first connection obtained in the first action class is not being
returned to the pool of free connections until the control goes out of the
second action class and response is being generated.
If I set Max number of connections in the datasoruce properties on the server
to 2, the above operation gets successful as the there are 2 connections are
used from the pool.
This hits the performance of the application as more number of connections are
in waiting to fail.
What happens when control is being forwarded from one action class to other
action class is in shade.
Thanks
Kishore
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/struts/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira