如何解决Scala-PlayFw-ApacheCxf / 线程“default-workqueue-1”中的异常 java.lang.NullPointerException
当使用带有 Scala/PlayFw 和 sbt-play-soap(plugin) 的网络服务 (SOAP) 时
plugins.sbt
resolvers += Resolver.url("play-sbt-plugins",url("https://dl.bintray.com/playframework/sbt-plugin-releases/"))(Resolver.ivyStylePatterns)
addSbtPlugin("com.typesafe.sbt" % "sbt-play-soap" % "1.2.0")
build.sbt
WsdlKeys.wsdlTasks in Compile := Seq(
WsdlKeys.WsdlTask(url("https://example.com/Service?wsdl"),packageName = Some("com.example.service"))
)
WsdlKeys.futureApi := WsdlKeys.ScalaFutureApi
在任务中(Scala)
class ExampleTask @Inject()(implicit ec: ExecutionContext,actorSystem: ActorSystem,cxf: ApacheCxfBus,conf: Configuration) {
actorSystem.scheduler.scheduleAtFixedrate(initialDelay = 5.seconds,interval = 10.minutes) { () =>
val service = new com.example.service.Service(cxf,conf).getData // <- Error Line
service.map(response => {
// db operations
})
}
}
线程“default-workqueue-1”中的异常 java.lang.NullPointerException 在 org.apache.cxf.endpoint.ClientImpl$2.onMessage(ClientImpl.java:521) 在 org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1201) 在 org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:412) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:345) 在 java.lang.Thread.run(Thread.java:748)
- CXF 版本(已测试):3.1.5 - 3.4.0 - 3.4.3
- JDK 版本(已测试):8、11
- 版本差异并没有解决问题。
我对这个常见问题的广泛研究并没有得出一个健康的结论。
我想征求那些对这个主题感兴趣并有意见的人的意见。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。