首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将EJB3.0 Bean注入JSF2.0支持Bean...不可能?

将EJB3.0 Bean注入JSF2.0支持Bean...不可能?
EN

Stack Overflow用户
提问于 2011-06-09 00:01:11
回答 4查看 5.1K关注 0票数 4

我正在做WebLogic11g上的一个JSF项目,我们的初始设计是调用JSF支持bean来调用EJB3.0bean来执行业务逻辑和数据访问调用。当我试图将EJB引用注入到支持bean时,@EJB注释似乎在我的项目中不起作用。每当我命中要测试的类时,EJB的构造函数都不会被调用,我最终会得到一个NPE。可以将EJB3.0 bean注入到JSF支持bean中吗?有没有其他方法可以通过JSF支持bean调用EJB?最佳实践是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-13 23:47:00

事实证明,在使用JSF和EJB部署任何东西时,这都是Weblogic特有的问题。我在Oracle论坛上找到了这篇文章,它解释了如何使用Weblogic 11g在JSF托管Bean中使用@EJB注入:

EJB3.0 Injection into JSF Managed beans

更新:

在转了太长时间之后,我不得不放弃将EJB注入WebLogic11g上的JSF的尝试。在Tomcat中似乎工作得很好。也许在第12代中EJB3和JSF实现会更好……

票数 3
EN

Stack Overflow用户

发布于 2011-06-09 00:33:18

我有点googled,这似乎确实是Weblogic的一个已知问题。许多类似的话题都没有得到回答。

我发现了this blog,它证实了Weblogic中的@EJB只适用于web.xml定义的资源,而不适用于JSF。该博客还详细描述了一种使用ServletContextListener的变通方法,它并不比使用JNDI好多少。

我还找到了this OTN topic,它证实了Weblogic中的@EJB是在EJB模块是而不是子目录中包含的时开始工作的(参见底部发布的答案,2011年2月15日下午5:44 )。

票数 4
EN

Stack Overflow用户

发布于 2014-10-16 20:18:50

要使其正常工作,您需要执行两个步骤:

  1. 部署jsf-2.0.war作为库,您可以找到它的/ORACLE_HOME/wlserver_10.3/common/deployable-libraries

在web项目中,将引用添加到WEB-INF/weblogic.xml中的

我已经在weblogic 10.3.3和10.3.5中成功地测试了这一点。如果这不起作用,请尝试将应用程序部署为EAR文件的一部分。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6281771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档