2016-05-13 79 views
0

我有一个流定义为流create --name foo --definition samplesource | sampleprocessor | samplesink --deploy。我使用Redis作为MessageBus。如何在springxd运行时获取通道名称

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

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

我们可以随时获得频道名称吗?

在此先感谢

回答

0

我在写代码...

哪里该代码将运行?

如果它流在模块内,模块的元数据通过应用程序上下文环境属性可用:

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

我们建立一个独立的XD流(errorsrc | errsink)从RedisBus读取ERR留言并将它们推送到目标队列。所以我需要从该XD env中定义的所有流中的所有队列。 –

相关问题