我在互联网上找到了许多示例,其中我可以使用带有 JNDI 的 spring 来设置 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 对象被包含/构成它的一部分吗?