Java Spring中的NPE集成日志处理程序
我面临着一些奇怪的NPE,没有任何由Java Spring中的NPE集成日志处理程序,java,spring,nullpointerexception,spring-integration,Java,Spring,Nullpointerexception,Spring Integration,我面临着一些奇怪的NPE,没有任何由org.springframework.integration.handler.LoggingHandler抛出的细节。前一个日志条目是2分钟之前,这也很奇怪 有人知道这背后的原因吗 2017-07-25 18:33:38.561 DEBUG o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'markEodPositionsAsProc
org.springframework.integration.handler.LoggingHandler
抛出的细节。前一个日志条目是2分钟之前,这也很奇怪
有人知道这背后的原因吗
2017-07-25 18:33:38.561 DEBUG o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'markEodPositionsAsProcessedChannel'
2017-07-25 18:35:36.985 ERROR o.s.integration.handler.LoggingHandler : org.springframework.messaging.MessageHandlingException: nested exception is java.lang.NullPointerException
at org.springframework.integration.handler.MethodInvokingMessageProcessor.processMessage(MethodInvokingMessageProcessor.java:96)
at org.springframework.integration.handler.ServiceActivatingHandler.handleRequestMessage(ServiceActivatingHandler.java:89)
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:109)
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:127)
at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:148)
at org.springframework.integration.dispatcher.UnicastingDispatcher.access$000(UnicastingDispatcher.java:53)
at org.springframework.integration.dispatcher.UnicastingDispatcher$3.run(UnicastingDispatcher.java:129)
at org.springframework.integration.util.ErrorHandlingTaskExecutor$1.run(ErrorHandlingTaskExecutor.java:55)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
您谈论的代码如下所示:
public T processMessage(Message<?> message) {
try {
return this.delegate.process(message);
}
catch (Exception e) {
throw new MessageHandlingException(message, e);
}
}
public T processMessage(消息消息消息){
试一试{
返回此.delegate.process(消息);
}
捕获(例外e){
抛出新的MessageHandlingException(message,e);
}
}
这显然意味着delegate.process()
以某种方式抛出NPE
根据StackTrace,您有一些服务激活器来调用POJO服务方法。看起来你的方法已经抛出了NPE
我还认为,在之后的StackTrace中还有其他原因:java.lang.NullPointerException
您在日志中将其视为一个错误
,因为您有一些从某个源入站通道适配器开始的轮询流。任何向下抛出的异常都被轮询器Ednpoint中的错误处理程序捕获,并以LoggingHandler
作为默认订户发送到errorChannel
有关更多信息,请参阅