我在互联网上找到了很多例子,我可以使用Spring和JNDI来设置apache mq:
<bean id="jndiTemplate" 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">tcp://localhost:61616</prop>
<prop key="java.naming.security.principle">system</prop>
<prop key="java.naming.security.credentials">credentials</prop>
</props>
</property>
</bean>
<bean id="jndiQueueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate"/>
<property name="jndiName" value="ConnectionFactory"/>
</bean>
我无法找到的是对象绑定到JNDI提供程序的位置。在上面的例子中,我不明白ConnectionFactory的来源是什么?它似乎存在于上下文中,但是我是否应该编辑一个配置文件以确定哪些java对象被包含/成为它的一部分?
答案 0 :(得分:1)
您正在从外部jndi-provider activemq请求jndi-objects。因此,对象 ConnectionFactory 的jndi-lookup将通过activemq解析。