我在企業應用MODUL的EJB(的PersonManager)中注入另一個EJB(人):JSF託管bean EJB注入
@Stateful
public class PersonManager implements PersonManagerLocal {
@EJB
private PersonLocal person;
@Override
public void setPersonName(String name) {
person.setName(name);
}
@Override
public String getPersonName() {
return person.getName();
}
}
我想使用的PersonManager EJB在JSF的Web應用程序。我在faces-config.xml中定義它:
<managed-bean>
<managed-bean-name>personManager</managed-bean-name>
<managed-bean-class>ejb.PersonManager</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
問題是,PersonLocal EJB的注入不會發生。 person屬性始終爲NULL。我錯了什麼?
但如果我注入的PersonManager在JSF管理的bean這樣的:
@ManagedBean
@RequestScoped
public class Index {
@EJB
private PersonManagerLocal personManager;
....
它的作品。我需要第一種方案,請幫助我:-D
你爲什麼不使用@EJB註解,而不是手動faces-config.xml中聲明它?這就像在註釋未被髮明時試圖回到過去:P – 2011-12-24 19:36:48
你是對的: - 它只是理論上的,我想知道答案。 – Forty 2011-12-24 20:45:50
@Forty那麼爲什麼它不工作?答案並不清楚。 – 2013-06-19 17:35:56