>     @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
cove...@gmail.com

Reply via email to