Right now, it's not explicitly defined whether EjbDescriptor instances passed to resolveEjb() and registerInterceptors() are of the same implementation as provided by BeanDeploymentArchive.getEjbs(). Some integrators expect to receive the same instances as provided. However, Weld is using a internal implementation wrapping the original.
Moreover, it seems for resolveEjb() a delegate is always passed (see also SessionBean.createReference()) but for registerInterceptors() the internal wrapper is passed.
I believe we should pass the delegate for both of the methods.
|