2

我正在运行 jetty-6.1.7,并且我有一个 ActiveMQConnectionFactory,我想通过 JNDITemplate 在我的 spring 配置中引用它。

我的 jetty.xml 配置是普通的:

   <New id="connectionFactory" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>jms/connectionFactory</Arg>
    <Arg>
      <New class="org.apache.activemq.ActiveMQConnectionFactory">
         <Arg>vm://localhost?broker.persistent=true</Arg>
      </New>
    </Arg>
  </New>

而且我找不到在我的 spring 配置中放入 JNDI 模板的正确方法:

<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
  <property name="environment">
    <props>
      <prop key="java.naming.factory.initial">  ????  </prop>
      <prop key="java.naming.provider.url">   ????   </prop>
    </props>
  </property>
</bean>
<bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiTemplate">
    <ref bean="jndiTemplate" />
  </property>
  <property name="jndiName">
    <value>jms/connectionFactory</value>
  </property>
</bean>

提前致谢!

4

2 回答 2

3

对于 jetty 6,这些是 JNDI 属性

java.naming.factory.url.pkgs=org.mortbay.naming
java.naming.factory.initial=org.mortbay.naming.InitialContextFactory
于 2009-12-24T10:02:14.487 回答
0

虽然我自己没有尝试过,但这样的事情应该可以

<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>
        </props>
    </property>
</bean>
于 2009-12-24T09:58:30.180 回答