use of com.sun.ejb.base.io.EJBObjectOutputStreamHandler in project Payara by payara.
the class EjbContainerUtilImpl method postConstruct.
@Override
public void postConstruct() {
ejbContainer = serverConfig.getExtensionByType(EjbContainer.class);
ClassLoader ejbImplClassLoader = EjbContainerUtilImpl.class.getClassLoader();
if (callFlowAgent == null) {
callFlowAgent = (Agent) Proxy.newProxyInstance(ejbImplClassLoader, new Class[] { Agent.class }, new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method m, Object[] args) {
return null;
}
});
}
defaultThreadPoolExecutor = createThreadPoolExecutor(DEFAULT_THREAD_POOL_NAME);
// avoid starting JDK timer in application class loader. The life of _timer
// field is longer than deployed apps, and any reference to app class loader
// in JDK timer thread will cause class loader leak. Issue 17468
ClassLoader originalClassLoader = null;
try {
originalClassLoader = Utility.setContextClassLoader(ejbImplClassLoader);
_timer = new Timer("EJB Container Timer", true);
} finally {
if (originalClassLoader != null) {
Utility.setContextClassLoader(originalClassLoader);
}
}
EJBObjectOutputStreamHandler.setJavaEEIOUtils(javaEEIOUtils);
javaEEIOUtils.addGlassFishOutputStreamHandler(new EJBObjectOutputStreamHandler());
javaEEIOUtils.addGlassFishInputStreamHandler(new EJBObjectInputStreamHandler());
_me = this;
}
Aggregations