On Thursday 24 May 2007 16:15, Andrea Smyth wrote:
> >If I'm reading this code correctly.....
> >
> >The ClientLifeCycleManager holds on to all clients with strong
> >references.  The only way to release it is to call "destroy()" on the
> >client.
>
> The ClientLifeCycleManager (implementation) holds on to all client
> lifecycle *listeners*, not the clients.
> What exactly are yoy referring to?

Sorry.   My bad.

However, in the RMManager, all clients that are created when RMManager is 
registered as a ClientLifeCycleListener go into 
RMManger.recoverReliableEndpoint(...).   If there is a store and 
recoverReliableEndpoint, then for all clients, a RMEndpoint object is 
created and the endpoint and RMEndpoint objects are put in the 
reliableEndpoints map, which is a strong map.

Right?

It looks like for normal cases (RM not used), store is null so it's not a 
problem.

However, my major issue, I guess, is the API kind of implies that 
the "ClientLifeCycleManager.clientDestroyed(...)" method will always be 
called.   I just don't see that as being true.   I actually expect it to 
rarely be called.

Dan



>
> Andrea.
>
> >That isn't a "normal" thing to do in a JAX-WS use case.   Thus, for
> >normal JAX-WS development, all clients ever created are held onto
> >forever.   All the resources they contain are never released.  
> > Etc....
> >
> >Am I reading that correctly?   If so, -1.   That needs to be fixed.
> >
> >
> >Dan
> >
> >On Thursday 24 May 2007 13:33, [EMAIL PROTECTED] wrote:
> >>Author: andreasmyth
> >>Date: Thu May 24 10:33:11 2007
> >>New Revision: 541364
> >>
> >>URL: http://svn.apache.org/viewvc?view=rev&rev=541364
> >>Log:
> >>[JIRA CXF-139] Client-side recovery.
> >>Added client lifecycle management interface to be notified of client
> >>creation so that recovery can take place before client sends any
> >>requests. Fixed minor bug in handling TerminateSequence invocation.
> >>
> >>Added:
> >>
> >>incubator/cxf/trunk/api/src/main/java/org/apache/cxf/endpoint/Client
> >>Li feCycleListener.java   (with props)
> >>incubator/cxf/trunk/api/src/main/java/org/apache/cxf/endpoint/Client
> >>Li feCycleManager.java   (with props)
> >>incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/Cl
> >>ie ntLifeCycleManagerImpl.java   (with props)
> >>incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMUt
> >>il sTest.java   (with props)
> >>incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws
> >>/r m/ClientPersistenceTest.java   (with props) Removed:
> >>
> >>incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws
> >>/r m/PersistenceTest.java Modified:
> >>
> >>incubator/cxf/trunk/api/src/main/java/org/apache/cxf/endpoint/Client
> >>.j ava
> >>incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/bi
> >>nd ing/soap/interceptor/SoapHeaderInterceptor.java
> >>incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/Cl
> >>ie ntImpl.java
> >>incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/Se
> >>rv erLifeCycleManagerImpl.java
> >>incubator/cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml
> >>incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Abst
> >>ra ctEndpoint.java
> >>incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Prox
> >>y. java
> >>incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMCo
> >>nt extUtils.java
> >>incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMEn
> >>dp oint.java
> >>incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMMa
> >>na ger.java
> >>incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMOu
> >>tI nterceptor.java
> >>incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMUt
> >>il s.java
> >>incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Retr
> >>an smissionQueue.java
> >>incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Serv
> >>an t.java
> >>incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/soap
> >>/R etransmissionQueueImpl.java
> >>incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/Abst
> >>ra ctEndpointTest.java
> >>incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/Prox
> >>yT est.java
> >>incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMEn
> >>dp ointTest.java
> >>incubator/cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMMa
> >>na gerTest.java
> >>incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws
> >>/r m/oneway-client-crash.xml

-- 
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727    C: 508-380-7194
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to