首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通道丢弃消息如何调试

通道丢弃消息如何调试
EN

Stack Overflow用户
提问于 2012-11-06 09:49:53
回答 1查看 1.5K关注 0票数 0

我是Spring集成的新手,但到目前为止我还在学习。

我从名为" channel -1“的通道接收消息,并通过网桥传递到"Channel-2”

代码语言:javascript
复制
<task:executor id="Channel2Executor" pool-size="${executor.pool.size}" rejection-policy="CALLER_RUNS" />

<int:channel id="Channel-2">
    <int:dispatcher task-executor="Channel2Executor"/>
</int:channel>

<int:bridge id="adapterParserBridge" input-channel="Channel-1" output-channel="Channel-2">
</int:bridge>

奇怪的是,当我在JBoss中部署应用程序时,消息第一次通过并到达后续流的末尾,尽管在流的后面部分有一些错误。

第二次,消息到达"Channel-1",但永远不会超出--没有错误,没有日志,全部处于调试模式,没有任何痕迹。

所以我的问题是:

1)在流程的后期发生的错误是否导致了这样的问题?

2)如何无缘无故、无误地调试这样一小段消息?

3)如果有任何其他建议或建议来深入了解这些渠道,那就更好了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-06 10:15:49

  1. No
  2. In调试模式下,如果您真的要向通道1发送消息,您将看到“通道‘通道-1’上的preSend...”、“通道‘通道-1’上的postSend...”
  3. 常见的错误是在通道1上有多个订户;默认情况下,使用RoundRobin分布;因此,第一个消息将桥接到通道2,第二个消息将到达另一个订户,依此类推。

使用调试日志记录时,如果不至少查看"preSend“调试日志,就不可能向通道1发送消息。

代码语言:javascript
复制
21:09:24.825 DEBUG [someThread][org.springframework.integration.channel.DirectChannel] preSend on channel 'foo', message: [Payload=xxx][Headers={timestamp=1352167764822, id=14b8ae47-08d8-4bf6-94bf-e342eb705df4}]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13243250

复制
相关文章

相似问题

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