[
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]