You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Paul Benedict (JIRA)" <ji...@apache.org> on 2006/11/26 07:03:57 UTC

[jira] Resolved: (STR-2970) In WebSphere 6, New connection is being requested from Pool when there is ActionForward from one Action class to other action class

     [ http://issues.apache.org/struts/browse/STR-2970?page=all ]

Paul Benedict resolved STR-2970.
--------------------------------

    Fix Version/s: 1.0.1
       Resolution: Not A Problem

The problem described here has nothing to do with Struts since Struts does not manage database connections. If you find this problem caused by Struts itself, this ticket can be re-opened.

> 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
>             Fix For: 1.0.1
>
>
> 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