0

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

4

1 回答 1

1

您正在从外部 jndi-provider activemq 请求 jndi-objects。所以对ConnectionFactory对象的 jndi-lookup将通过 activemq 解决。

于 2012-04-19T15:20:44.703 回答