在jms提供者之间切换

时间:2013-04-15 13:29:16

标签: spring spring-mvc spring-jms

我想做一个SPRING(3.2.1)设置,我可以根据您所处的环境切换底层JMS提供程序。开发,测试,生产我不是专家,但是遇到了Spring的@Profile注释。我真的不知道如何使用它。所以我需要做的是在DEV环境中我想使用ActiveMQ而在PRODUCTION中我想使用IBM MQ。这可能吗?如果是这样,如果您可以提供一些配置或代码来执行此操作,将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:0)

http://static.springsource.org/spring-framework/docs/3.2.1.RELEASE/spring-framework-reference/html/new-in-3.1.html#new-in-3.1-bean-definition-profiles

对于XML配置,请参阅此博客... http://blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/

有关使用@Configuration配置文件,请参阅此博客关于@Profile:http://blog.springsource.com/2011/02/14/spring-3-1-m1-introducing-profile/

归结为......

使用XML配置时,只需在spring配置文件的末尾添加<beans/>个元素......

<beans ...>
    <bean... />

    <beans profile="DEV">
        <bean ... // my ActiveMQ config .../>
    </beans?

    <beans profile="default">
        <bean ... // my IBM (or JNDI) config .../>
    <beans/>
</beans>

然后使用-Dspring-profiles-active=DEV在dev中运行。

同样可以将@Profile添加到@Configuration类,以限制它们对特定活动配置文件的使用。