【问题标题】:how to get channel name at runtime in springxd如何在springxd运行时获取频道名称
【发布时间】:2016-05-13 09:45:52
【问题描述】:

我有一个流定义为 stream create --name foo --definition samplesource |样品处理器 |样品池——部署。我使用 Redis 作为 MessageBus。

如果 sampleprocessor 或 samplesink 失败,则 xd 会将失败的消息推送到 Redis 到 ERRORS:foo.n 队列中。我正在编写代码将消息从错误队列带到 foo.n。

这里的挑战是我不想在我的代码中硬编码流名称,因为这部分是在我所有的 xd 模块中处理的。

我们可以即时获取频道名称吗?

提前致谢

【问题讨论】:

    标签: redis spring-xd


    【解决方案1】:

    我在写代码……

    该代码将在哪里运行?

    如果它位于流中的模块内,则模块元数据可通过应用程序上下文环境属性获得:

        ${xd.group.name}
        ${xd.module.label}
        ${xd.module.type}
        ${xd.module.sequence}
    

    【讨论】:

    • 我们正在构建一个单独的 xd 流 (errorsrc | errsink),它从 RedisBus 读取错误消息并将它们推送到目标队列。所以我需要该 XD 环境中定义的所有流中的所有队列。
    猜你喜欢
    • 2013-07-22
    • 2022-07-16
    • 2017-11-13
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-06
    • 2020-10-28
    相关资源
    最近更新 更多