禁用集成流程 - Spring 集成

Disable integration flow - Spring integration

我需要为错误队列处理实施 spring 集成流程。需要根据配置 属性 激活流程,因为错误队列不是为像 DEV 这样的较低环境设置的。 我如何 activate/enable 基于 spring 配置 属性 的集成流程?

我的集成流程如下所示:

<bean id="error.jms" class="com.xxx.backend.integration.jms.MyMessageListener">
    <property name="destinationName" value="#{queueConfig.getError().queueName()}"/>
    <property name="errorHandler" ref="ErrorHandler"/>
</bean>

<intjms:message-driven-channel-adapter id="errorAdapter"
                                       container="error.jms"
                                       auto-startup="${xxx.backend.jmsAdaptor.autoStart}"
                                       role="systemEndpoint"
                                       channel="error.channel"/>

这听起来更像是你需要让自己熟悉 Spring 的 Bean Definition Profiles

那么,您需要的是这样的配置:

<beans profile="production">
    <bean id="error.jms" class="com.xxx.backend.integration.jms.MyMessageListener">
      ...
    </bean>

    <intjms:message-driven-channel-adapter id="errorAdapter"
       ...
                                      channel="error.channel"/>

</beans>

然后您只需要在正式版中启动应用程序时 activate 它即可。例如-Dspring.profiles.active=production.