持久性单元未注入Web服务

时间:2019-02-12 14:33:48

标签: jpa java-ee glassfish jax-ws

我有一个正在使用Java 6 + Glassfish 3的应用程序。我正在将该项目迁移为在使用Oracle Java 8的Glassfish 5.1上运行。

该应用程序的构建没有问题。部署期间,唯一与jpa / eclipselink相关的行是

var brojleta = 1;

const mappedarray = Object.entries(data).filter((k,v)=>{return k[0] == "let"+brojleta});
console.log(mappedarray[0][1][0]);

但是,当执行语音呼叫时,会触发Info: EclipseLink, version: Eclipse Persistence Services - 2.7.4.v20190115-ad5b7c6b2a Info: /file:/home/eelke/NetBeansProjects/MplusLicentieService/build/web/WEB-INF/classes/_MplusLicentieServicePU login successful 。我已经通过调试器验证了null指针实际上是持久性单元。这是Web服务,EntitiyManager和失败的方法之一的定义。在方法NullPointerException中。省略其他语句和变量。

em == null

我还尝试在netbeans中重新定义持久性单元,但这并没有改变任何东西。

一些其他发现

在同一项目中还有一个无状态EJB,它具有由计时器调度程序调用的功能。使用@Inject向该EJB中注入第二个无状态EJB,这是可行的。将与Web服务中相同的持久性上下文注入到第二个EJB中。这样可以正常工作,注入它并按预期执行查询。

找到了一些可能相关的日志行

  

信息:找到了JAX-WS RI特定的描述符(WEB-INF / sun-jaxws.xml)   在存档网站中,从而部署了Enterprise Web Service(109)   已禁用此归档文件,以避免重复服务。

0 个答案:

没有答案