RESTEasy2.3.2でJBoss4.2.3を使用したい。必要なすべてのJarをライブラリに追加することでそれを行うことができます。これは、CDI機能を使用しない場合は正常に機能します。
ただし、クラスで@Injectを使用しようとすると、BeanManagerルックアップが失敗するため、デプロイメントが失敗します。https://issues.jboss.org/browse/RESTEASY-558から、この問題が修正されたことを理解しています。
- JDK1.6.Xを使用しています
- WEB-INFにbeans.xmlがあります
- WELDサーブレットで試してみました。しかし、最終的なエラーは同じままです
<resource-env-ref>
動作しなかったweb.xmlに追加されました
web.xmlコンテンツ:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>xyz</display-name>
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServlet30Dispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>resteasy.resource.method-interceptors</param-name>
<param-value>
org.jboss.resteasy.core.ResourceMethodSecurityInterceptor
</param-value>
</context-param>
<listener>
<listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>
<context-param>
<param-name>resteasy.injector.factory</param-name>
<param-value>org.jboss.resteasy.cdi.CdiInjectorFactory</param-value>
</context-param>
</web-app>
スタックトレース:
Caused by: java.lang.RuntimeException: Unable to lookup BeanManager.
at org.jboss.resteasy.cdi.CdiInjectorFactory.lookupBeanManager(CdiInjectorFactory.java:131)
at org.jboss.resteasy.cdi.CdiInjectorFactory.<init>(CdiInjectorFactory.java:41)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:138)
質問:
- JBoss 4.2.3にCDI機能を持たせることは可能ですか?
- JNDIルックアップが失敗していることがわかります。JNDIエントリの追加を担当するのは誰(どのモジュール/クラス)ですか?
- 私が持っているweb.xmlに問題はありますか?
私は過去1日間これで立ち往生しています。どんな助けでも本当にありがたいです。