我想使用CDI将对象注入到EJB类中,使用Weblogic 10.3.6中的producer方法。Weblogic 10.3.6是Java 5容器,因此不支持开箱即用的CDI。移动到Weblogic 12c (它支持CDI的开箱即用)将是一个我们现在无法承担的相当大的迁移项目。
是否有可能将Weld或OpenWebBeans追溯到WebLogic10.3.6?到目前为止,我一直试图让OpenWebBeans工作,但没有成功。我在类路径中放置了以下jar文件:
openwebbeans-ee-1.2.6.jar
openwebbeans-ee-common-1.2.6.jar
openwebbeans-ejb-1.2.6.jar
openwebbeans-el10-1.2.6.jar
openwebbeans-el22-1.2.6.jar
openwebbeans-impl-1.2.6.jar
openwebbeans-jms-1.2.6.jar
openwebbeans-osgi-1.2.6.jar
openwebbeans-resource-1.2.6.jar
openwebbeans-spi-1.2.6.jar
openwebbeans-web-1.2.6.jar我还向我的EJB项目(打包在.ear文件中的传统EJB )添加了一个META/openwebbean/openwebbeans.properties文件。我修改/添加了以下内容:
org.apache.webbeans.spi.deployer.useEjbMetaDataDiscoveryService=true org.apache.webbeans.resource.spi.ResourceService=org.apache.webbeans.ejb.resource.OpenEjbResourceInjectionService
我还将以下示例黑入EJB类以检查它是否有效:http://www.javacodegeeks.com/2013/04/java-ee-cdi-producer-methods-tutorial.html
但是,应该注入的成员变量仍然为空。我在日志里没有看到任何错误。
我开始感到,只有在.war类部署在OpenWebBeans侦听器定义的OpenWebBeans文件中时,这才能起作用。我说得对吗?
发布于 2014-09-01 19:14:36
很久以前,我曾试图让Weld在WebLogic10.3.6中工作,但没有成功。我想如果你能成功的话,它就会有问题。所以,放松一下,使用Guice或smth,就像WL10.3中的那样
https://stackoverflow.com/questions/25440799
复制相似问题