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]