1
我試圖構建一個MQ生產者發送消息到ActiveMQ隊列。問題是我不希望實現針對ActiveMQ。我實際上是在開發環境中進行ActiveMQ發送,而在生產中,應用程序服務器將使用其他的東西。我打算使用Maven創建2個配置文件,這些配置文件將根據給定的配置文件過濾資源。Spring + JMS + ActiveMQ不依賴於ActiveMQ
我開始玩JNDI,但我卡住了...我嘗試了很多選擇,但沒有一個是可行的。 現在,我的Spring配置XML是這樣的:
<jee:jndi-lookup id="mqConnectionFactory" jndi-name="java:comp/env/jms/mqConnectionFactory" />
<bean id="jmsJndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</prop>
<prop key="java.naming.provider.url">vm://localhost</prop>
</props>
</property>
</bean>
<bean id="ismeJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="defaultDestination" ref="ismeJmsDestination"/>
<property name="connectionFactory" ref="mqConnectionFactory"/>
</bean>
<bean id="ismeJmsDestination" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jmsJndiTemplate"/>
<property name="jndiName" value="dynamicQueues/FOO.BAR"/>
</bean>
mqConnectionFactory無法找到,因爲我沒有在JNDI添加它。我不知道如何添加它,因爲這不是一個web應用程序,所以沒有context.xml。
有人可以幫助我在正確的方向嗎?
謝謝,我會看看你給我的鏈接!我不受限於依賴級別。所以我可以添加依賴到ActiveMQ。例如,當我使用「本地」配置文件構建時,我需要將消息發送到ActiveMQ。如果未使用「本地」配置文件構建,請將消息發送到JNDI配置隊列(公司weblogic隊列)。 –