1

我正在使用带有以下弹簧配置的 jmsTemplate [使用“*****”隐藏结构]。

我想在此配置中配置 useAsyncSend=true 以便 jmsTemplate 不会等待来自代理的 ack。我不确定如何使用 JNDI 来做这件事 - 有人可以帮忙看看如何最好地做到这一点吗?

<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
        <property name="environment">
            <props>
                <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
                <prop key="java.naming.provider.url">${*****.application.jnditemplate.java.naming.provider.url}</prop>
                <prop key="java.naming.security.principal">${*****.application.jnditemplate.java.naming.security.principal}</prop>                   
                <prop key="java.naming.security.credentials">${*****.application.jnditemplate.java.naming.security.credentials}</prop>
            </props>
        </property>
    </bean> 

     <bean id="queueConnectionFactory"
        class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiTemplate">
            <ref bean="jndiTemplate" />
        </property>
        <property name="jndiName">
            <value>com.*****.jms.connectionFactory</value>
        </property>
    </bean> 

     <bean id="jmsDestinationResolver"
        class="org.springframework.jms.support.destination.JndiDestinationResolver">
        <property name="jndiTemplate">
            <ref bean="jndiTemplate" />
        </property>
        <property name="cache">
            <value>true</value>
        </property>
    </bean>

    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
        <property name="connectionFactory">
            <ref bean="queueConnectionFactory" />
        </property>
        <property name="destinationResolver">
            <ref bean="jmsDestinationResolver" />
        </property>
        <property name="sessionAcknowledgeMode">
        <value>2</value>
        </property>     
    </bean>
4

0 回答 0