Spring集成:使用引用而不是值作为属性?

时间:2018-06-21 16:27:35

标签: spring spring-integration inversion-of-control

这是我希望成为MQTT消息驱动的通道适配器的摘录。

我想要的是“ topics”属性,以获取presentationTopic的值。

如何设置“ topics”属性以使其使用“ presenceTopic”作为参考而不是值?

<util:constant id="presenceTopic" static-field="blah blah"/>

<int-mqtt:message-driven-channel-adapter id="mqttInbound"
    channel="inChannel"
    client-id="blah blah"
    url="${MQTT_URL}"
    topics="__??__"
    client-factory="clientFactory"/>

1 个答案:

答案 0 :(得分:0)

您需要研究Spring表达式语言和Spring功能才能在bean初始化期间使用它:

topics="#{presenceTopic}"

这真的是对bean的引用。

更多信息在参考手册中:

https://docs.spring.io/spring/docs/5.0.7.RELEASE/spring-framework-reference/core.html#expressions