无法在GWT ServiceImpl中注入EJB(JBoss 4.2)

时间:2010-10-27 07:37:20

标签: gwt jboss dependency-injection

我正在使用Eclipse 3.6和Jboss 4.2。我用两个模块EJB和WEB创建了企业应用程序。

我已将WEB模块转换为GWT应用程序(并添加了必要的文件 - HTML和CSS)。

问题是,当我需要使用@EJB注释注入GWTServiceImpl servlet中的远程或本地接口时,以及在JBoss上部署应用程序并使用默认浏览器启动它(即web模式,或者prod模式),我得到NullPointerException,说SLSB接口为null。这意味着没有注射。

1 个答案:

答案 0 :(得分:1)

我前段时间遇到与Glassfish v3相同的问题(@EJB字段没有注入)。在我的例子中,结果是问题,GWT默认使用版本2.3的部署描述符。当我将其更改为2.5(或更新)时,它工作。 JBoss 4.2支持Servlet 2.5,因此你应该可以使用类似的东西:

<?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_2_5.xsd"
         id="WebApp_ID"
         version="2.5">

     ...

</web-app>