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
