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