我收到以下警告,然後提供了使用在Jetty上運行的CXF(2.5.2)創建的服務的NPE。有人知道如何增加執行程序隊列的大小,正如警告中所建議的那樣?增加CXF中的執行程序隊列大小OneWayProcessorInterceptor
org.apache.cxf.interceptor.OneWayProcessorInterceptor handleMessage
WARNING: Executor queue is full, run the oneway invocation task in
caller thread. Users can specify a larger executor queue to avoid
this.
WARNING: Interceptor for
{http://docs.oasis-open.org/wsn/bw-2}MyPublishService#{http://docs.oasis-open.org/wsn/bw-2}Notify
has thrown exception, unwinding now
java.lang.NullPointerException
at org.apache.cxf.jaxws.context.WrappedMessageContext.<init>(WrappedMessageContext.java:107)
at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:53)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:232)
at org.apache.cxf.interceptor.OneWayProcessorInterceptor.handleMessage(OneWayProcessorInterceptor.java:143)
...
更新:感謝接受的答案我已經創建了一個包含以下內容的Spring bean一個XML文件:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="cxf.default.workqueue" class="org.apache.cxf.workqueue.AutomaticWorkQueueImpl">
<property name="name" value="default" />
<property name="queueSize" value="512" />
</bean>
</beans>
我面臨同樣的問題。你能告訴我你複製bean配置文件的位置以及部署描述符中的相應配置以讀取此文件嗎? – CKing
您只需創建一個帶有正確內容的文件(例如cxf.xml)並將其添加到您的類路徑中。 – Laurent
是的,我想通了。將它添加到我的beans.xml文件中,該文件也用於發佈我的Web服務。 – CKing