Could someone help me understand the use of beanInterface
parameter of @EJB
annotation in JavaEE 6?
I have a situation in which I have an EJB and I want it to be accessed locally and remotely as well.
I have a MyBaseInterface
and then both MyEJBLocalInterface
and MyEJBRemoteInterface
extending MyBaseInterface开发者_开发问答
. Now I have MyEJB
which is implementing both MyEJBLocalInterface
and MyEJBRemoteInterface
.
Now I have a situation in which I want only to access MyEJB
locally.
Could I achieve the same with the following?
@EJB(beanInterface=MyEJBLocalInterface.class)
private MyBaseInterface instanceOfLocallyAccessedMyEJB;
Could someone help me understand the use of beanInterface
parameter of @EJB
attribute?
Thanks.
the beanInterface attribute of the @EJB annotation is used for different purposes depending on the EJB version you are using:
- In EJB 3.X you can use it to specify whether you want to use the remote of local reference of the EJB you are referring to, which is your case.
- In EJB 2.X it is used to specify the Home/LocalHome interface of the session/entity bean
To sum up, yes. You should be able to use it to inject the desired interface.
This might not be supported in older versions of JBoss though.
精彩评论