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, internally an {{EjbDescriptor}} wrapper is used. And for {{resolveEjb()}} a delegate is always passed (see also {{SessionBean.createReference()}}) but for {{registerInterceptors()}} the internal wrapper is passed.
I believe we We should pass the delegate for both of the to all methods to be more consistent.
We should also consider improving the {{EjbServices}} contract so that it's easier to use.
|