2

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日間これで立ち往生しています。どんな助けでも本当にありがたいです。

4

0 に答える 0