On Wed, Aug 12, 2009 at 11:18 AM, Laird Nelson <[email protected]> wrote:

> I have an interface, DAO.java.  It is not annotated in any way.  For the
> purposes of this email it doesn't matter what method signatures are in it.
> I have another interface, Foo.java.  It extends DAO.  It is not annotated
> in any way.  Again, the method signatures don't matter.
> Finally, I have a stateless session bean, Bar.java.  Bar implements Foo
> (and by extension implements DAO).  It is annotated with @Stateless(name =
> "Bar") and @Remote(Foo.class).  It properly implements all methods it's
> required to.
>

To be specific, OpenEJB, running as a local server, is attempting to deploy
Bar under its remote business interface, Foo, which I want, and under its
local business interface, DAO, which I don't want, and which, to my
knowledge, I never indicated should happen.

Is this a bug in OpenEJB, or is this specification-compliant behavior?  I
thought that if you had explicitly annotated your SLSB with, say,
@Remote(SomeClassHere.class), and if you had not also explicitly annotated
it with the @Local annotation, then OpenEJB should deploy your bean under
ONLY the SomeClassHere.class interface, regardless of what other
non-annotated interfaces you might implement.

Best,
Laird

Reply via email to