我有一个位于企业应用程序模块中的EJB(PersonManager),它注入另一个EJB(Person):
@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();
}
}
我想在一个JSF网站应用程序中使用PersonManager EJB。我在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。我错在了哪里?
但如果我像这样在JSF管理的bean中注入PersonManager:
@ManagedBean
@RequestScoped
public class Index {
@EJB
private PersonManagerLocal personManager;
....
它有效。我需要第一种情况,请帮帮我 :-D