.:An Endless Journey:.
open source and me
  • Immutable Page
  • Info
  • Attachments

How to use JNDI template

Define JndiTemplate (IMPORTANT: configure environment)

  <!--
  || ActiveMQ JNDI provider
  || ActiveMQ provide a JNDI provider. See ActiveMQ documentation (search JNDI)
  -->
  <bean id="jmsJndiTemplate" 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://127.0.0.1:61616
        </prop>
        <prop key="queue.MyExampleQueue">
          TEST.FOO
        </prop>
      </props>
    </property>
  </bean>

Use JndiObjectFactoryBean (standard BeanFactory in Spring)

  <!--
  || JMS Connection Factory.
  -->
  <bean id="jmsConnectionFactory"
        class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jmsJndiTemplate"/>
    <property name="jndiName" value="ConnectionFactory"/>
  </bean>

  <!--
  || JMS Connection Factory.
  -->
  <bean id="jmsWebCoreEventDestination"
        class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jmsJndiTemplate"/>
    <property name="jndiName" value="MyExampleQueue"/>
  </bean>