当前位置: 首页 > 知识库问答 >
问题:

@EJB和@Inject都在Glassfish 3.1.2和Java 6中引起NPE

范承志
2023-03-14

我正在使用最新的JDK 6和Glassfish 3.1.2在Mac上部署一个用NetBeans 3.1.2创建的Maven WebApp

它包含一个基本的JAX-RS服务。我尝试将SLSB(带有@EJB)和CDI管理的bean(@inject)注入其中。在这两种情况下,我都击中了NPE。

严重:RuntimeException无法映射到响应,重新抛出到HTTP容器java。com上的lang.NullPointerException。我的公司。常见的天哪。玻璃鱼。网络应用。通用资源。sun上的getXml(GenericResource.java:47)。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(NativeMethodAccessorImpl.java:39)。反映DelegatingMethodAccessorImpl。在java上调用(DelegatingMethodAccessorImpl.java:25)。朗,反思一下。方法调用(Method.java:597)

为了节省墨水,项目上传到这里

https://bitbucket.org/DessieK/jee6-cdi-webapp/src

共有1个答案

薄哲
2023-03-14

使JAX-RS服务成为无状态会话bean:

@Path("generic")
@Stateless // <- It's an EJB
public class GenericResource {
    @EJB
    NewSessionBean nsb;

    @GET
    @Produces("application/xml")
    public String getXml() {
        nsb.helloWorld();
        return "<hello>World</hello>";
    }
}
 类似资料:
  • 这是请求 我试图在我的应用程序中使用上面的ejb 1) 包含JDBC语句2018-03-27 16:28:17,683:错误:http-nio-6180-exec-1:BatchingBatch.PerformExecution:HHH000315:Exception执行批处理[java.sql.BatchUpdateException:batch entry 0 insert into TEAM

  • 问题内容: 我知道在此之前已经问过很多类似的问题,但是我认为这个问题有些不同:) 我正在编写一个maven报告插件,它将向用户列表发送电子邮件。我现在遇到的问题是,当我使用java5运行该代码时,该代码似乎运行良好,但使用java6失败。实际上,该插件是用Groovy编写的,并使用commons-email实用程序发送html消息: 该项目依赖于javax.mail:mail:1.4.1和java

  • @Inject() 是一个手动机制,让Angular 2知道必须注入参数。 它可以这样使用: 在上面示例中,我们要求chatWidget是单例的,Angular通过调用@Inject(ChatWidget)与类符号关联。 需要特别注意的是,我们使用ChatWidget的类型和作为其单例的引用。 我们没有使用ChatWidget来实例化任何东西,Angular在幕后帮我们做好了。 @Injectab

  • 在rmy Angular 6应用程序中,我尝试使用一些GET请求,同时注入一些Headers: 我的服务如下: 在我的组件中:我像以下一样订阅它: 它在 火狐 ,但在 铬 和 IE11 下则不行;我得到了这样的安错误: TypeError:无法读取空node_modules的属性'长度'。/HttpHeaders.push./@角/公共/菲斯姆5/node_modules更新(node_modul

  • 我想知道EJB@EJB和@Resource注释之间的主要区别是什么?在这种情况下,我们必须选择@EJB和@resource

  • 我发现了一个问题,当使用@Enable缓存批注与@Inject/@autoweld在@Configuration类: 复制的简单示例: 配置类: 应用程序上下文启动器: 错误: 引起原因:org.springframework.beans.factory.Bean定义存储异常:工厂方法[公共org.springframework.cache.CacheManagerspring.samples.c