/** * {@inheritDoc} * @see org.jboss.ejb3.async.spi.AsyncInvocationTaskBase#proceed() */ @Override @SuppressWarnings("unchecked") protected V proceed() throws Throwable { // Invoke on the container return (V) SessionSpecContainer.this.invoke(session, null, method, args); }
/** * Invokes the method described by the specified serializable method * as called from the specified proxy, using the specified arguments * * @param proxy The proxy making the invocation * @param method The method to be invoked * @param args The arguments to the invocation * @throws Throwable A possible exception thrown by the invocation * @return */ public Object invoke(Object proxy, SerializableMethod method, Object[] args) throws Throwable { /* * Obtain Session ID */ Serializable sessionId = null; // If coming from ejb3-proxy-impl if (Proxy.isProxyClass(proxy.getClass())) { InvocationHandler handler = Proxy.getInvocationHandler(proxy); assert handler instanceof SessionProxyInvocationHandler : "Requires " + SessionProxyInvocationHandler.class.getName(); SessionProxyInvocationHandler sHandler = (SessionProxyInvocationHandler) handler; sessionId = (Serializable) sHandler.getTarget(); } //TODO Session ID if nointerface // Send along to the transition method return this.invoke(sessionId, method, args); }
return this.invoke(session, sMethod, args);