【发布时间】:2016-04-23 16:24:32
【问题描述】:
当integration spring 配置文件不活动时,我想使用 spring bean 初始化一个 ActiveMQ 代理。我只想在默认配置文件中启动代理。设置是这样的:
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xmlns:amq="http://activemq.apache.org/schema/core"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
....
<beans profile="!integration">
<!-- ** Standalone ActiveMQ server ** -->
<amq:broker useJmx="false" persistent="false">
<amq:transportConnectors>
<amq:transportConnector uri="tcp://localhost:61616"/>
</amq:transportConnectors>
</amq:broker>
</beans>
</beans>
Spring 似乎完全忽略了<beans> 标签,即使配置文件是默认的。即使删除 profile=!integration 属性也不能修复 pb。
如果我将初始化 bean 的代理移动到 beans 标记之外,它工作得很好,如下所示:
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xmlns:amq="http://activemq.apache.org/schema/core"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
<!-- ** Standalone ActiveMQ server ** -->
<amq:broker useJmx="false" persistent="false">
<amq:transportConnectors>
<amq:transportConnector uri="tcp://localhost:61616"/>
</amq:transportConnectors>
</amq:broker>
</beans>
但是,这会丢失 bean 分析。我可能做错了什么?
【问题讨论】:
标签: spring jms activemq spring-jms spring-bean