/** * Called after attempt to handle message. This is coded defensively * so we attempt to clean up no matter how much progress we made in * getImplementor. One important thing is to complete the invocation * manager preInvoke(). */ public void releaseImplementor(ComponentInvocation inv) { container.endInvocation(inv); }
inv = container.startInvocation(); adapterInvInfo.setInv(inv); WsUtil wsu = new WsUtil(); String implClassName = endpoint.getEjbComponentImpl().getEjbClassName(); Class clazz = container.getEndpointClassLoader().loadClass(implClassName);
public AdapterInvocationInfo getHandlerImplementor() throws Exception { ComponentInvocation inv = container.startInvocation(); AdapterInvocationInfo aInfo = new AdapterInvocationInfo(); aInfo.setInv(inv); synchronized(this) { if(tieClass == null) { tieClass = Thread.currentThread().getContextClassLoader().loadClass(getEndpoint().getTieClassName()); } if( tieInstance == null ) { tieInstance = (Tie) tieClass.newInstance(); tieInstance.setTarget((Remote) webServiceEndpointServant); } } ((EJBInvocation)inv).setWebServiceTie(tieInstance); aInfo.setHandler((Handler)tieInstance); return aInfo; }
Thread.currentThread().setContextClassLoader(container.getEndpointClassLoader());
/** * Called after attempt to handle message. This is coded defensively * so we attempt to clean up no matter how much progress we made in * getImplementor. One important thing is to complete the invocation * manager preInvoke(). */ public void releaseImplementor(ComponentInvocation inv) { container.endInvocation(inv); }