public Object getMetaData(Object group, Object attr) { return delegate.getMetaData(group, attr); }
public SimpleMetaData getMetaData() { return delegate.getMetaData(); }
public Object getMetaData(Object group, Object attr) { return wrapped.getMetaData(group, attr); }
public SimpleMetaData getMetaData() { return wrapped.getMetaData(); }
public Object localInvoke(MethodInfo info, Object[] args) throws Throwable { if (info.getMethod().equals(getOnMessage())) { ClassLoader oldLoader = Thread.currentThread().getContextClassLoader(); pushEnc(); try { Message message = (Message)args[0]; MethodInvocation invocation = (MethodInvocation) ((ObjectMessage) message).getObject(); invocation.getMetaData().addMetaData(CONSUMER_MESSAGE, CONSUMER_MESSAGE, message, PayloadKey.TRANSIENT); return this.dynamicInvoke(invocation); } finally { Thread.currentThread().setContextClassLoader(oldLoader); popEnc(); } } else return super.localInvoke(info, args); }
containerInvocation.setMetaData(methodInvocation.getMetaData());
public InvocationResponse dynamicInvoke(Invocation invocation) throws Throwable { ClassLoader oldLoader = Thread.currentThread().getContextClassLoader(); EJBContainerInvocation newSi = null; pushEnc(); try { Thread.currentThread().setContextClassLoader(classloader); MethodInvocation si = (MethodInvocation) invocation; MethodInfo info = getAdvisor().getMethodInfo(si.getMethodHash()); if (info == null) { throw new RuntimeException("Could not resolve beanClass method from proxy call"); } newSi = new MessageContainerInvocation(info); newSi.setArguments(si.getArguments()); newSi.setMetaData(si.getMetaData()); newSi.setAdvisor(getAdvisor()); InvocationResponse response = new InvocationResponse(newSi.invokeNext()); response.setContextInfo(newSi.getResponseContextInfo()); return response; } finally { Thread.currentThread().setContextClassLoader(oldLoader); popEnc(); } }
newSi.setMetaData(si.getMetaData()); newSi.setAdvisor(getAdvisor());
Object objInvokedMethod = si.getMetaData(SessionSpecRemotingMetadata.TAG_SESSION_INVOCATION,SessionSpecRemotingMetadata.KEY_INVOKED_METHOD); assert objInvokedMethod !=null : "Invoked Method must be set on invocation metadata"; assert objInvokedMethod instanceof SerializableMethod : "Invoked Method set on invocation metadata is not of type " + SerializableMethod.class.getName() + ", instead: " + objInvokedMethod; invokedBusinessInterface, info, this); newSi.setArguments(si.getArguments()); newSi.setMetaData(si.getMetaData());