[ 
https://issues.apache.org/jira/browse/ODE-994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13680324#comment-13680324
 ] 

Sathwik Bantwal Premakumar commented on ODE-994:
------------------------------------------------

The call to cleanup on axis configuration might have been done to stop a memory 
leak with respect to a timer object that gets created when the hotDeployemnt is 
enabled in axis2. There is some reference to this in this ticket 
https://issues.apache.org/jira/browse/AXIS2-4263

The possible workarounds to this problems as suggested in the above ticket is 
to disable hotDeployment within axis2 which will not create the timer.

Since we cannot allow the call to  _server._axisConfig.cleanup() on ODE 
deployments using axis2 1.6 versions and above,  another workaround would be to 
directly call the cleanup of the timer without having to call 
_server._axisConfig.cleanup(). This would keep the existing code work as it 
should for older version of axis2 which is currently being used in ODE 1.3.6 
and trunk.

                
> Cleanup problem when service is destroyed with axis2 1.6
> --------------------------------------------------------
>
>                 Key: ODE-994
>                 URL: https://issues.apache.org/jira/browse/ODE-994
>             Project: ODE
>          Issue Type: Bug
>          Components: Axis2 Integration
>    Affects Versions: 1.3.5
>            Reporter: Sathwik Bantwal Premakumar
>            Assignee: Sathwik Bantwal Premakumar
>             Fix For: 1.3.6, 1.4
>
>
> Here is the original message from Igor on the problem 
> (http://markmail.org/message/7i5gbdeskx3dzsyl)
> After migration ODE to axis2 1.6.1 I faced with the service cleanup problem.
> The problem is appeared when we redeploy process. After this redeployment
> all services are cleaned up and we have only redeployed service.
> I've reviewed ode-axis2 sources and found the place where this cleanup is
> happened. It is destroyService method of BindingContextImpl class.
> There we have axis configuration cleanup(_server._axisConfig.cleanup()) from
> axis2-kernel library.
> Then I analyzed changes in kernel lib of cleanup() from AxisConfiguration
> class (1.3 vs 1.6)  and found that in 1.6 there was added following code :
>         if (clusteringAgent != null) {
>             clusteringAgent.finalize();
>         }
>         this.policySupportedModules.clear();
>         this.moduleConfigmap.clear();
>         this.allEndpoints.clear();
>         this.allModules.clear();
>  -->  this.allServices.clear();
>         this.outPhases.clear();
>         this.messageReceivers.clear();
>         this.targetResolvers.clear();
>         if (this.engagedModules != null) {
>             this.engagedModules.clear();
>         }
>         this.configurator = null;
> Seems that we can't call _server._axisConfig.cleanup() when we use axis 1.6.
> Is it correct to do cleanup of all axis config instead of cleanup only
> related to destroyed service data?
> If not then what should we clean for destroyed service?
> Thanks,
> Igor.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to