首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在线程下运行CXFJAX-RS2.0客户端“NullPointerException”方法时

在线程下运行CXFJAX-RS2.0客户端“NullPointerException”方法时
EN

Stack Overflow用户
提问于 2015-08-10 14:38:02
回答 1查看 720关注 0票数 1

我有一些JAX-RS2.0客户端运行在8.5.5.6中。它们都是按顺序工作的,但我想在线程中执行其中的一些,以便它们同时运行。当我试图在FutureTask中获得一个“目标”时,使用:

代码语言:javascript
复制
 WebTarget myResource = client.target(apiURLBase + ...);

我让NullPointerExcepton在这个com.ibm.ws..。类:

代码语言:javascript
复制
Caused by: java.lang.NullPointerException
     at com.ibm.ws.jaxrs20.client.bus.LibertyJAXRSClientBusFactory.getClientScopeBus(LibertyJAXRSClientBusFactory.java:89)
     at com.ibm.ws.jaxrs20.client.JAXRSClientImpl.target(JAXRSClientImpl.java:109)
     at org.apache.cxf.jaxrs.client.spec.ClientImpl.target(ClientImpl.java:100)
     at com.servengine.watson.naturallanguageclassifier.NaturalLanguageClassifierRESTClient.classify(NaturalLanguageClassifierRESTClient.java:161)
     at com.servengine.watson.naturallanguageclassifier.NaturalLanguageClassifierRESTClient$Proxy$_$$_WeldClientProxy.classify(Unknown Source)
     at com.skios.eliza.nlq.NaturalLanguageQueryFlowView$1.call(NaturalLanguageQueryFlowView.java:66)
     at com.skios.eliza.nlq.NaturalLanguageQueryFlowView$1.call(NaturalLanguageQueryFlowView.java:1)
     at java.util.concurrent.FutureTask.run(FutureTask.java:266)

CXF不能从“主”线程中使用?我遗漏了什么?

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-11 07:05:01

如果要在分叉的新线程中使用客户端API,则需要确保新线程是托管的容器。在您的例子中,您可以启用并发-1.0特性。然后使用:

@Resource(name="java:comp/DefaultManagedExecutorServcie") ManagedExecutorService执行者;

代码语言:javascript
复制
 Task task = new Task();    
 Future<String> result = executor.submit(task);

在任务类中,您可以对前面所做的操作进行相同的操作: WebTarget myResource = client.target(apiURLBase +.);

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

https://stackoverflow.com/questions/31922438

复制
相关文章

相似问题

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