java – postReceive on channel’outputChannel’,message为null
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – postReceive on channel’outputChannel’,message为null,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含15173字,纯文字阅读大概需要22分钟。
内容图文
![java – postReceive on channel’outputChannel’,message为null](/upload/InfoBanner/zyjiaocheng/767/751dd36ef309475fbd76ca26760d41c2.jpg)
我有一个spring集成应用程序,它使用HttpRequestHandlingMessagingGateway接受json请求将它发送到变换器然后服务激活器,然后由PollableChannel接收消息并发回
但是我收到备用请求的响应,我正在跟踪模式运行应用程序记录器,如@GaryRussell在其他问题上建议并获得以下堆栈跟踪
从header-richher中删除output-channel时,我收到以下异常:
service activator . . .HolidaysAvailableResponse [holidayCodes=[HolidayCode [code=NEW-YEARS-DAY-ACTUAL, description=New Year's Day], HolidayCode [code=NEW-YEARS-DAY-OBSERVED, description=New Year's Day], HolidayCode [code=DAY-AFTER-NEW-YEARS-DAY, description=Day After New Year's Day (QC)], HolidayCode [code=EPIPHANY, description=Epiphany], HolidayCode [code=QUEBEC-FLAG-DAY, description=Quebec Flag Day], HolidayCode [code=GROUNDHOG-DAY, description=Groundhog Day], HolidayCode [code=VALENTINES-DAY, description=Valentine's Day], HolidayCode [code=FLAG-DAY, description=Flag Day], HolidayCode [code=ISLANDER-DAY, description=Islander Day (PE)], HolidayCode [code=HERITAGE-DAY-YT, description=Heritage Day (YT)], HolidayCode [code=LOUIS-RIEL-DAY, description=Louis Riel Day (MB)], HolidayCode [code=FAMILY-DAY, description=Family Day (AB, ON, SK)], HolidayCode [code=ST-PATRICKS-DAY-ACTUAL, description=St. Patrick's Day], HolidayCode [code=ST-PATRICKS-DAY-OBSERVED, description=St. Patrick's Day (NL)], HolidayCode [code=COMMONWEALTH-DAY, description=Commonwealth Day], HolidayCode [code=EASTER-ACTUAL, description=Easter Sunday], HolidayCode [code=EASTER-OBSERVED, description=Easter Monday], HolidayCode [code=GOOD-FRIDAY, description=Good Friday], HolidayCode [code=SHROVE-TUESDAY, description=Shrove Tuesday (Pancake Day)], HolidayCode [code=ASH-WEDNESDAY, description=Ash Wednesday], HolidayCode [code=PALM-SUNDAY, description=Palm Sunday], HolidayCode [code=MAUNDY-THURSDAY, description=Maundy Thursday], HolidayCode [code=VIMY-RIDGE-DAY, description=Vimy Ridge Day], HolidayCode [code=VICTORIA-DAY, description=Victoria Day], HolidayCode [code=NATIONAL-PATRIOTES-DAY, description=National Patriotes Day (QC)], HolidayCode [code=NATIONAL-ABORIGINAL-DAY-ACTUAL, description=National Aboriginal Day (NT)], HolidayCode [code=NATIONAL-ABORIGINAL-DAY-OBSERVED, description=National Aboriginal Day (NT)], HolidayCode [code=NATIONAL-DAY-ACTUAL, description=National Day (QC)], HolidayCode [code=NATIONAL-DAY-OBSERVED, description=National Day (QC)], HolidayCode [code=CANADA-DAY-ACTUAL, description=Canada Day], HolidayCode [code=CANADA-DAY-OBSERVED, description=Canada Day], HolidayCode [code=NUNAVUT-DAY-ACTUAL, description=Nunavut Day], HolidayCode [code=NUNAVUT-DAY-OBSERVED, description=Nunavut Day], HolidayCode [code=BRITISH-COLUMBIA-DAY, description=British Columbia Day (BC)], HolidayCode [code=HERITAGE-DAY-AB, description=Heritage Day (AB)], HolidayCode [code=CIVIC-HOLIDAY, description=Civic Holiday (MB, NT, ON, SK)], HolidayCode [code=NEW-BRUNSWICK-DAY, description=New Brunswick Day (NB)], HolidayCode [code=GOLD-CUP-PARADE-DAY, description=Gold Cup Parade (PE)], HolidayCode [code=LABOUR-DAY, description=Labour Day], HolidayCode [code=THANKSGIVING-DAY, description=Thanksgiving Day], HolidayCode [code=HALLOWEEN, description=Halloween], HolidayCode [code=REMEMBERANCE-DAY-ACTUAL, description=Rememberance Day], HolidayCode [code=REMEMBERANCE-DAY-OBSERVED, description=Rememberance Day], HolidayCode [code=CHRISTMAS-ACTUAL, description=Christmas], HolidayCode [code=CHRISTMAS-OBSERVED, description=Christmas], HolidayCode [code=BOXING-DAY-ACTUAL, description=Boxing Day], HolidayCode [code=BOXING-DAY-OBSERVED, description=Boxing Day], HolidayCode [code=NEW-YEARS-EVE, description=New Year's Eve]]]
DEBUG 2016-05-31 19:47:42,976 [http-bio-8088-exec-4] (AbstractMessageHandler.java:72) (handleMessage) - org.springframework.integration.transformer.MessageTransformingHandler#0 received message: GenericMessage [payload=HolidaysAvailableResponse [holidayCodes=[HolidayCode [code=NEW-YEARS-DAY-ACTUAL, description=New Year's Day], HolidayCode [code=NEW-YEARS-DAY-OBSERVED, description=New Year's Day], HolidayCode [code=DAY-AFTER-NEW-YEARS-DAY, description=Day After New Year's Day (QC)], HolidayCode [code=EPIPHANY, description=Epiphany], HolidayCode [code=QUEBEC-FLAG-DAY, description=Quebec Flag Day], HolidayCode [code=GROUNDHOG-DAY, description=Groundhog Day], HolidayCode [code=VALENTINES-DAY, description=Valentine's Day], HolidayCode [code=FLAG-DAY, description=Flag Day], HolidayCode [code=ISLANDER-DAY, description=Islander Day (PE)], HolidayCode [code=HERITAGE-DAY-YT, description=Heritage Day (YT)], HolidayCode [code=LOUIS-RIEL-DAY, description=Louis Riel Day (MB)], HolidayCode [code=FAMILY-DAY, description=Family Day (AB, ON, SK)], HolidayCode [code=ST-PATRICKS-DAY-ACTUAL, description=St. Patrick's Day], HolidayCode [code=ST-PATRICKS-DAY-OBSERVED, description=St. Patrick's Day (NL)], HolidayCode [code=COMMONWEALTH-DAY, description=Commonwealth Day], HolidayCode [code=EASTER-ACTUAL, description=Easter Sunday], HolidayCode [code=EASTER-OBSERVED, description=Easter Monday], HolidayCode [code=GOOD-FRIDAY, description=Good Friday], HolidayCode [code=SHROVE-TUESDAY, description=Shrove Tuesday (Pancake Day)], HolidayCode [code=ASH-WEDNESDAY, description=Ash Wednesday], HolidayCode [code=PALM-SUNDAY, description=Palm Sunday], HolidayCode [code=MAUNDY-THURSDAY, description=Maundy Thursday], HolidayCode [code=VIMY-RIDGE-DAY, description=Vimy Ridge Day], HolidayCode [code=VICTORIA-DAY, description=Victoria Day], HolidayCode [code=NATIONAL-PATRIOTES-DAY, description=National Patriotes Day (QC)], HolidayCode [code=NATIONAL-ABORIGINAL-DAY-ACTUAL, description=National Aboriginal Day (NT)], HolidayCode [code=NATIONAL-ABORIGINAL-DAY-OBSERVED, description=National Aboriginal Day (NT)], HolidayCode [code=NATIONAL-DAY-ACTUAL, description=National Day (QC)], HolidayCode [code=NATIONAL-DAY-OBSERVED, description=National Day (QC)], HolidayCode [code=CANADA-DAY-ACTUAL, description=Canada Day], HolidayCode [code=CANADA-DAY-OBSERVED, description=Canada Day], HolidayCode [code=NUNAVUT-DAY-ACTUAL, description=Nunavut Day], HolidayCode [code=NUNAVUT-DAY-OBSERVED, description=Nunavut Day], HolidayCode [code=BRITISH-COLUMBIA-DAY, description=British Columbia Day (BC)], HolidayCode [code=HERITAGE-DAY-AB, description=Heritage Day (AB)], HolidayCode [code=CIVIC-HOLIDAY, description=Civic Holiday (MB, NT, ON, SK)], HolidayCode [code=NEW-BRUNSWICK-DAY, description=New Brunswick Day (NB)], HolidayCode [code=GOLD-CUP-PARADE-DAY, description=Gold Cup Parade (PE)], HolidayCode [code=LABOUR-DAY, description=Labour Day], HolidayCode [code=THANKSGIVING-DAY, description=Thanksgiving Day], HolidayCode [code=HALLOWEEN, description=Halloween], HolidayCode [code=REMEMBERANCE-DAY-ACTUAL, description=Rememberance Day], HolidayCode [code=REMEMBERANCE-DAY-OBSERVED, description=Rememberance Day], HolidayCode [code=CHRISTMAS-ACTUAL, description=Christmas], HolidayCode [code=CHRISTMAS-OBSERVED, description=Christmas], HolidayCode [code=BOXING-DAY-ACTUAL, description=Boxing Day], HolidayCode [code=BOXING-DAY-OBSERVED, description=Boxing Day], HolidayCode [code=NEW-YEARS-EVE, description=New Year's Eve]]], headers={timestamp=1464704262960, id=b8e76d8a-97f7-c7a6-0c7a-a58d3c2ce440}]
DEBUG 2016-05-31 19:47:42,976 [http-bio-8088-exec-4] (MessagingGatewaySupport.java:365) (doSendAndReceive) - failure occurred in gateway sendAndReceive: ; nested exception is org.springframework.integration.dispatcher.AggregateMessageDeliveryException: All attempts to deliver Message to MessageHandlers failed.; nested exception is org.springframework.messaging.MessagingException: ; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available. Multiple causes:
; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available
; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available
See below for the stacktrace of the first cause.
DEBUG 2016-05-31 19:47:42,976 [http-bio-8088-exec-4] (AbstractHandlerExceptionResolver.java:134) (resolveException) - Resolving exception from handler [httpGatewayPost]: org.springframework.messaging.MessageHandlingException: ; nested exception is org.springframework.integration.dispatcher.AggregateMessageDeliveryException: All attempts to deliver Message to MessageHandlers failed.; nested exception is org.springframework.messaging.MessagingException: ; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available. Multiple causes:
; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available
; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available
See below for the stacktrace of the first cause.
DEBUG 2016-05-31 19:47:42,976 [http-bio-8088-exec-4] (AbstractHandlerExceptionResolver.java:134) (resolveException) - Resolving exception from handler [httpGatewayPost]: org.springframework.messaging.MessageHandlingException: ; nested exception is org.springframework.integration.dispatcher.AggregateMessageDeliveryException: All attempts to deliver Message to MessageHandlers failed.; nested exception is org.springframework.messaging.MessagingException: ; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available. Multiple causes:
; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available
; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available
See below for the stacktrace of the first cause.
TRACE 2016-05-31 19:47:42,976 [http-bio-8088-exec-4] (FrameworkServlet.java:1058) (resetContextHolders) - Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@4106a123
DEBUG 2016-05-31 19:47:42,976 [http-bio-8088-exec-4] (FrameworkServlet.java:989) (processRequest) - Could not complete request
org.springframework.messaging.MessageHandlingException: ; nested exception is org.springframework.integration.dispatcher.AggregateMessageDeliveryException: All attempts to deliver Message to MessageHandlers failed.; nested exception is org.springframework.messaging.MessagingException: ; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available. Multiple causes:
; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available
; nested exception is org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available
See below for the stacktrace of the first cause.
at org.springframework.integration.handler.MethodInvokingMessageProcessor.processMessage(MethodInvokingMessageProcessor.java:78)
at org.springframework.integration.handler.ServiceActivatingHandler.handleRequestMessage(ServiceActivatingHandler.java:71)
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:99)
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78)
at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:101)
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:97)
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:77)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:277)
at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:115)
at org.springframework.messaging.core.GenericMessagingTemplate.doSendAndReceive(GenericMessagingTemplate.java:150)
at org.springframework.messaging.core.GenericMessagingTemplate.doSendAndReceive(GenericMessagingTemplate.java:45)
at org.springframework.messaging.core.AbstractMessagingTemplate.sendAndReceive(AbstractMessagingTemplate.java:42)
at org.springframework.integration.gateway.MessagingGatewaySupport.doSendAndReceive(MessagingGatewaySupport.java:357)
at org.springframework.integration.gateway.MessagingGatewaySupport.sendAndReceiveMessage(MessagingGatewaySupport.java:328)
at org.springframework.integration.http.inbound.HttpRequestHandlingEndpointSupport.actualDoHandleRequest(HttpRequestHandlingEndpointSupport.java:492)
at org.springframework.integration.http.inbound.HttpRequestHandlingEndpointSupport.doHandleRequest(HttpRequestHandlingEndpointSupport.java:389)
at org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway.handleRequest(HttpRequestHandlingMessagingGateway.java:103)
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:51)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
解决方法:
我不明白这是怎么回事:
DEBUG 2016-05-29 23:31:35,681 [http-bio-8080-exec-3] (AbstractMessageChannel.java:383) (postSend) - postSend (sent=true) on channel 'outputChannel', message: GenericMessage [payload=HolidaysAvailableResponse [holidayCodes=[HolidayCode [code=NEW-YEARS-DAY-ACTUAL. . .(POJO), headers={content-type=application/json, id=da43d6d2-2618-8581-4fcc-6aff7e79b6e1, timestamp=1464544895681}]
...
TRACE 2016-05-29 23:31:35,807 [http-bio-8080-exec-3] (AbstractMessageChannel.java:426) (postReceive) - postReceive on channel 'outputChannel', message is null
除非有另一个线程(不是日志记录)从outputChannel消耗或以某种方式有两个“outputChannel”bean – 这应该是不可能的.
也就是说,这段代码很奇怪……
@ServiceActivator(inputChannel = "requestChannel")
public Message<?> echo(Message<String> message)
{
// log.info("request :: " + message.getPayload());
jsonToObjectTransformerChannel.send(message);
// inputChannel.send(message);
Message<?> responseMessage = outputChannel.receive(100);
System.out.println("final response recieved :: ");
System.out.println(responseMessage);
return responseMessage;
}
这并不是真的打算用这样的服务激活器发送和接收消息(尽管它不应该导致任何问题).
我有兴趣知道如果你摆脱outputChannel从中删除输出通道会发生什么
<header-enricher input-channel="headerEnricherChannel">
<header name="content-type" value="application/json" />
</header-enricher>
并简单地将requestChannel连接到Json到对象转换器.
内容总结
以上是互联网集市为您收集整理的java – postReceive on channel’outputChannel’,message为null全部内容,希望文章能够帮你解决java – postReceive on channel’outputChannel’,message为null所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。