2009-12-23 85 views
2

我正在运行jetty-6.1.7,并且我有一个ActiveMQConnectionFactory,我想通过JNDITemplate在我的spring配置中引用它。Jetty使用哪些JNDI环境属性?

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

我无法找到正确的做法是把在JNDI模板在我的Spring配置什么:

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

谢谢提前!

+0

为什么不从内部弹簧配置ActiveMQ的?不需要这样搞乱JNDI。 – skaffman 2009-12-24 10:28:44

回答

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

对于码头6,这些都是JNDI性质在

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