我们正在使用JDeveloper 11g。 模型和ViewController项目都使用ADF融合而不是。
我的web-xml有一个有状态会话EJB的EJB引用。 我有一个在faces-config中声明的托管bean。
我正在尝试从托管bean内部访问EJB。
我宣布
@EJB (name ="LocationServicesEJB")
private LocationServicesEJB locationServices;
在方法中访问它时,locationServices为null。 我没有在控制台中看到任何JNDI类型问题, 所以我想它甚至都不会费心去查找。
我需要启用注射吗? 或者我是否需要在faces-config中将'locationServices'定义为托管属性?
请指教。 感谢名单
答案 0 :(得分:1)
你混淆了两种不同类型的注射剂。
通过相应的注释在EJB之间发生EJB注入。此类型由EJB容器(您的应用程序服务器或OpenEJB e.t.c)处理
然后在普通Java bean之间发生“正常”注入(ala Spring) 并在faces-config中定义。此类型由JSF处理。
所以决定你想做什么。
我的建议是下载official Java EE tutorial并浏览所有主题。