我们最近将生产环境从Karaf 3升级到Karaf 4.1.4。生产中的一切似乎都很好。但是我们在升级我们的" pax-exam"时遇到了问题。使用Karaf 4.1.4。升级后,我们的测试套装总是不一致的。简而言之,我们无法进行REST调用。获取"连接被拒绝"错误。在调试更多时,我们发现端口没有监听,并且我们的应用程序和Karaf容器之间没有建立CONNECTION。由于这个问题,测试套装在10次中失败了6次。如何解决这种不一致?为什么端口有时没有绑定?
注意:防火墙/安全性没有问题
更多详情:
卡拉夫版 - 4.1.4
org.ops4j.pax.exam version - 4.11.0
Jetty服务器版 - 9.3.21.v20170918
org.ops4j.pax.web版本 - 6.0.9
org.glassfish.jersey.version - 2.25.1
容器启动后,所有捆绑包都处于启动状态,并且所有功能都处于STARTED状态。然后,我们获取自定义端口(可用端口)并更新相应的osgi属性。但是更新不成功并且收到以下错误。
2018-06-05 13:53:39,065错误[Activator.java:380]无法启动pax web服务器:null - o.o.p.w.s.i.Activator java.lang.NullPointerException:null at org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl $ Stopped.start(ServerControllerImpl.java:527) 在org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl.start(ServerControllerImpl.java:81) at org.ops4j.pax.web.service.jetty.internal.ServerControllerFactoryImpl $ 1.start(ServerControllerFactoryImpl.java:164) at org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl $ Unconfigured.configure(ServerControllerImpl.java:787) 在org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl.configure(ServerControllerImpl.java:97) 在org.ops4j.pax.web.service.internal.Activator.updateController(Activator.java:347) 在org.ops4j.pax.web.service.internal.Activator.lambda $ scheduleUpdateConfig $ 1(Activator.java:287) at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624) 在java.lang.Thread.run(Thread.java:748)