> @Override
> public Object invoke(Object instance, Method method, Method proceed,
> Object[] arguments) throws Exception
> {
> @@ -109,6 +119,13 @@ public class DelegateHandler implements
> {
> result = method.invoke(actualBean, arguments);
> }
> + else
> + {
> + if(ejbContext != null)
> + {
> + result = ejbContext.proceed();
> + }
> + }
>
> return result;
FYI I am looking at this change now, appears to be broken when a
decorator of an EJB calls a method with a different signature on the
delegate
IOW:
299bean.echo()
Decorator1.delegate.otherMethod()
ejbcontext.proceed()
realejb.echo()
Ultimately results in a ClassCastException between return type of
echo() and othermethod() that is obfuscated by a number of proxies.
--
Eric Covener
[email protected]