我想知道,是否有任何选项可以在 EJB bean 中调用托管 bean。想象一下,我们有代码:
@ManagedBean
@SessionScoped
public class MyManagedBean implements Serializable {
public String getUrl() {
return "http://www.google.com";
}
}
@Stateless
public class MyEJB {
@ManagedProperty(value = "#{myManagedBean}")
MyManagedBean myManagedBean;
public void setMyManagedBean(MyManagedBean myManagedBean) {
this.myManagedBean = myManagedBean;
}
public void call() {
// NullPointerException here
System.out.println(myManagedBean.getUrl());
}
}
我也试过这个:
@Stateless
public class MyEJB {
@EJB
MyManagedBean myManagedBean;
...
}
...但它返回不同的MyManagedBean
实例。