Spring集成动态收件人输出通道

 赵春柱_626 发布于 2023-01-29 15:55

谁能告诉我下面的代码段是否可行?我希望能够在不知道特定输出渠道的情况下路由到任意数量的收件人。其他人会定义它,而我的流程只需要路由到它。


    

我知道我可以使用标头值路由器并让消息始发者填充它,但是我更希望自己找到它。我想在很多地方使用表达式来定义out通道,但是在大多数情况下这似乎是不可能的。我能够执行类似操作的一个示例是使用“目标表达式”属性使用jms通道适配器,并且我也想在路由器上应用相同类型的过程。

1 个回答
  • 对。RecipientListRouter甚至没有任何Mapping路由器是不可能的,因为您的“愿望”违反了“映射”原则。

    但是,RouterFactoryBean当您提供POJO及其方法时,通用路由器()可以应用的列表MessageChannel。像这样:

    <int:router input-channel="input" ref="myRouter" method="route"/>
    
    
    public List<String> route(Message<?> message) {
            List<String> results = new ArrayList<String>();
            if (message.getPayload().equals("foo") || message.getPayload().equals("bar")) {
                results.add("foo-channel");
                results.add("bar-channel");
            }
            return results;
        }
    

    2023-01-29 15:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有