0

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

4

1 回答 1

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/

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

它归结为...

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

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

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

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

然后在 dev 中运行-Dspring-profiles-active=DEV.

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

于 2013-04-15T14:07:31.820 回答