首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Restful与ejb

Restful与ejb
EN

Stack Overflow用户
提问于 2018-05-28 17:43:08
回答 1查看 39关注 0票数 0

我想用ejb创建Restful应用程序,所以我创建了db.jar和restful.war。

在db.jar中,我有:

代码语言:javascript
运行
复制
@Remote public interface DBManagerRemote

在restful.war中,我有:

代码语言:javascript
运行
复制
 @EJB private DBManagerRemote manager;

但是当我在玻璃鱼中部署时,我得到了一个例外:

代码语言:javascript
运行
复制
org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException

我做错了什么?

web.xml:

代码语言:javascript
运行
复制
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <display-name>Restful Web Application</display-name>

    <context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>true</param-value>
    </context-param>

    <listener>
        <listener-class>
            org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
    </listener>

    <servlet>
        <servlet-name>resteasy-servlet</servlet-name>
        <servlet-class>
            org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>resteasy-servlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

persistence.xml in db.jar:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>

<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
   http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

    <persistence-unit name="simpleFactory" transaction-type="JTA">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <jta-data-source>source_name</jta-data-source>
        <class>Mybean</class>
    </persistence-unit>
</persistence>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-29 08:59:30

您正在获得一个NullPointerException,因为您试图在一个在GlassFish中使用RestEasy的REST应用程序中使用容器注入。

RestEasy没有与GlassFish集成,因此永远不会发生注入。

对您来说,最简单的解决方案是:

  1. 删除应用程序中的任何resteasy jars
  2. 完全删除web.xml
  3. 将一些标准JAX引导代码添加到您的web应用程序: @ApplicationPath("/")公共类JAXRSConfiguration扩展应用程序{}

然后,这将使用内置到GlassFish中的JAX实现。

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

https://stackoverflow.com/questions/50571293

复制
相关文章

相似问题

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