All attributes in @EJB are optional. In the simplest form, it can be
@EJB FooIF foo;
In case of field injection with @EJB, beanInterface defaults to the field type. If your field type is different than the intended beanInterface, then you'll need to specify beanInterface. For example,
@EJB(beanInterface=FooIF.class)
private Object foo;
To answer your first q, yes, it's specified in Java EE 6 spec, since it applies not only to EJB, but also to other components in Java EE 6.
[Message sent by forum member 'cf126330']
http://forums.java.net/jive/thread.jspa?messageID=477393