禁用集成流程 - 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
.
我需要为错误队列处理实施 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
.