My Oracle Support Banner

On GlassFish Server JAX-WS Web Service Calls Result in a Memory Leak Due to org.glassfish.weld.services.JCDIServiceImpl$JCDIInjectionContextImpl Objects Being Cached in a com.sun.enterprise.container.common.impl.managedbean.ManagedBeanManagerImpl (Doc ID 1639840.1)

Last updated on FEBRUARY 03, 2019

Applies to:

Oracle GlassFish Server - Version 3.1.2 and later
Information in this document applies to any platform.

Symptoms

A memory leak is spotted or an OutOfMemoryError occurs in an application that makes heavy use of a JAX-WS web service.  For example:

@WebService(serviceName = "EchoWebService")
public class EchoWebService {

    /**
     * This is a sample web service operation
     */
    @WebMethod(operationName = "hello")
    public String hello(@WebParam(name = "name") String txt) {
        System.out.println("HELLO WEBSERVICE CALLED");
        return "Hello " + txt + " !";
    }
}

Everytime the above web service is invoked an instance of org.glassfish.weld.services.JCDIServiceImpl$JCDIInjectionContextImpl is created and is not removed.  The references to these injection context objects are held in an instance of com.sun.enterprise.container.common.impl.managedbean.ManagedBeanManagerImpl.  Over time, under sufficient load, this could lead to all the free space on the Java heap being consumed.

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.