我为Jetty使用哪些JNDI环境属性?

时间:2009-12-23 20:05:06

标签: jms jetty jndi activemq

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

我的jetty.xml配置是vanilla:

   <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>

提前致谢!

2 个答案:

答案 0 :(得分:3)

对于码头6,这些是JNDI专家

java.naming.factory.url.pkgs=org.mortbay.naming
java.naming.factory.initial=org.mortbay.naming.InitialContextFactory

答案 1 :(得分: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>