You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Rich Scheuerle (JIRA)" <ji...@apache.org> on 2007/09/06 23:03:28 UTC

[jira] Resolved: (AXIS2-3180) Externalization: Activation problem with OperationContext leads to out of memory condition

     [ https://issues.apache.org/jira/browse/AXIS2-3180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rich Scheuerle resolved AXIS2-3180.
-----------------------------------

    Resolution: Fixed

Committed Revision = 573377

> Externalization: Activation problem with OperationContext leads to out of memory condition
> ------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-3180
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3180
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: kernel
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>            Priority: Minor
>
> This problem only affects scenarios that persist the Operation Context (i.e. WS-RM).
> After a externalized OperationContext is read, it is activated.  Activation associates the OperationContext with the current runtime contexts (ConfigurationContext).
> If the MEP of the OperationContext is inbound, the OperationContext is added to the ConfigurationContext and never removed.
> The solution is to only re-register the OperationContext if it is outbound.  In these cases, the OperationContexts are cleaned up when a response is received.
> A simple solution is provided by Bill Nagy.  The OperationContext.activate(...) code is changed to only register the OperationContext if it is an "out" MEP.
> // We only want to (re)register this if it's an outbound message
>             String mepString = getAxisOperation().getMessageExchangePattern();
>             if (mepString.equals(WSDL20_2006Constants.MEP_URI_OUT_ONLY)
>                 || mepString.equals(WSDL20_2004_Constants.MEP_URI_OUT_ONLY)
>                 || ((mepString.equals(WSDL20_2006Constants.MEP_URI_OUT_IN)
>                     || mepString.equals(WSDL20_2004_Constants.MEP_URI_OUT_IN))
>                     && !isComplete)) {
>                     
>                 // make sure this OperationContext object is registered in the 
>                 // list maintained by the ConfigurationContext object
>                 boolean registrationSuceeded = activeCC.registerOperationContext(key, this, true);
>                 if (!registrationSuceeded) {
>                     // trace point
>                     log.trace(logCorrelationIDString + ":activate():  OperationContext key [" + key
>                               + "] already exists in ConfigurationContext map.  This OperationContext ["
>                               + this.toString() + "] was not added to the table.");
>                 }
>             }
> I will commit this fix after running some more tests.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org