[ 
https://issues.apache.org/jira/browse/CXF-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12605731#action_12605731
 ] 

Daniel Kulp commented on CXF-1656:
----------------------------------


Interesting.  Yea, definitely an issue to explore.

I wonder if it would be possible to remove those maps entirely.   When the 
policy set is computed, store it on the associated object directly.   

Kind of like:
    public EffectivePolicy getEffectiveClientRequestPolicy(EndpointInfo ei, 
BindingOperationInfo boi, 
                                                           Conduit c) {
        EffectivePolicy effectivePolicy = 
(EfectivePolicy)boi.get(CLIENT_REQUEST_POLICY);
        if (effectivePolicy == null) {
            EffectivePolicyImpl epi = createOutPolicyInfo();
            Assertor assertor = null;
            if (c instanceof Assertor) {
                assertor = (Assertor)c;
            }
            epi.initialise(ei, bo.boi, this, assertor, true);
            boi.put(CLIENT_REQUEST_POLICY, epi);
            effectivePolicy = epi;
        }
        return effectivePolicy;
    }


> PolicyEngineImpl Memory Improvement
> -----------------------------------
>
>                 Key: CXF-1656
>                 URL: https://issues.apache.org/jira/browse/CXF-1656
>             Project: CXF
>          Issue Type: Improvement
>          Components: WS-* Components
>    Affects Versions: 2.1.1, 2.0.7
>            Reporter: Bharath Ganesh
>            Assignee: Bharath Ganesh
>             Fix For: 2.1.2, 2.0.8
>
>
> PolicyEngineImpl maintains a clientEndpointInfos map to keep the 
> EndpointPolicies for client endpoints. An entry added to this map (while a 
> client comes in)  is removed only when the server endpoint is stopped. This 
> leads to very high memory usage when there are frequent getPort() Calls.
> This can be can be reduced by maintaining a weak reference to the client 
> EndpointInfo's. [Make clientEndpointInfoMap a weakhashmap]
> This would mean that after the lifetime of a single client port, all its data 
> structures would be cleared. We need to explore more on this.

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

Reply via email to