gpt4 book ai didi

java - JmsTemplate 没有发送超时

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:28:27 24 4
gpt4 key购买 nike

我有 JMS 应用程序IBM MQ jars 配置,使用 spring

它在正确的队列信息下运行良好,但是当我提供错误的队列信息时

卡在

LOG.info("SENDING MESSAGE");
jmsTemplate.send(this.getDestination(), messageCreator ); //here

我的日志显示发送消息,我正在处理 org.springframework.jmsexception,但它没有抛出......我认为它在那个时候挂起。

我找不到发送超时的 jmstemplate 的任何属性,只有接收超时存在...

这是 app-context.xml (Spring) 中的 jmstemplate conf

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate102">
<property name="connectionFactory">
<ref bean="jmsQueueConnectionFactory" />
</property>
<property name="destinationResolver">
<ref bean="jmsDestinationResolver" />
</property>
<property name="pubSubDomain">
<value>false</value>
</property>
<property name="receiveTimeout">
<value>20000</value>

</property>

ibm mq conf -

<bean id="mqConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="hostName">
<value>${queue_hostname}</value>
</property>
<property name="port">
<value>${queue_port}</value>
</property>
<property name="queueManager">
<value>${queue_manager}</value>
</property>
<property name="channel">
<value>${queue_channel}</value>
</property>
<property name="transportType">
<value>1</value>
</property>
</bean>

我已将其设置为自动确认

this.jmsTemplate.setSessionAcknowledgeMode(Session.AUTO_ACKNOWLEDGE);

所以请告诉我如何在发送消息时超时以抛出jmsexception

最佳答案

这都是无稽之谈。

如果您尝试将消息放入无效队列,MQ 会立即抛出异常,原因代码为 2085(未知对象)。不需要超时。显然,您使用的框架有一个错误,它没有捕获抛出的异常!!!

尝试仅使用 JMS 和 MQ 进行相同的测试,您将看到不同之处。

关于java - JmsTemplate 没有发送超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18128102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com