[jboss-user] [JBossWS] - Client side memory leak?

m0hmad do-not-reply at jboss.com
Mon Oct 8 08:57:16 EDT 2007


Hello,

I've got EJBs that operates in proxy mode. They just pass thru requests parameters to JBossWS Client implementation and redirect responses back.
All WS artifacts, service and endpoints have been generated with wsconsume tool. Soap endpoints are exposed like:
public class SoapServicesFactory {
  | 
  |     static private Content contentSoap; // the SOAP client
  | 
  |     static public synchronized ContentSoap getContentSoap() {
  |         if (null == contentSoap)
  |             contentSoap = new Content();
  |         return contentSoap.getContentSoap();
  |     }
  | }
The endpoint released right after first remote method invoked, no storing or caching etc being performed.

The problem is, ALL artifacts retrieved from WSs as responses will never released by Garbage Collector and sooner or later there Java heap Space criticall error will be.
Utilizing profiler I can see that artifacts retained by instances of several classes:
           -   org.jboss.ws.core.soap.ObjectContent
           -   org.jboss.ws.coreEndpointInvocation
           -   java.lang.Object

Changing endpoint exposing to:
return (new MobileContent()).getMobileContentSoap();
removes the memory leakage but the service works too slowly cos instantiation of Soap Service is too expensive procedure.

Can anybody help me with this issue?

Looking forward for any response.
Thanks in advance.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4092530#4092530

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4092530



More information about the jboss-user mailing list