相符合的
JmsTemplate
我们有JavaDocs:
/**
* Set the time-to-live of the message when sending.
* <p>Since a default value may be defined administratively,
* this is only used when "isExplicitQosEnabled" equals "true".
* @param timeToLive the message's lifetime (in milliseconds)
* @see #isExplicitQosEnabled
* @see javax.jms.Message#DEFAULT_TIME_TO_LIVE
* @see javax.jms.MessageProducer#send(javax.jms.Message, int, int, long)
*/
public void setTimeToLive(long timeToLive) {
this.timeToLive = timeToLive;
}
所以,如果
explicitQosEnabled
不是
true
(
JmsTemplate#doSend
):
if (isExplicitQosEnabled()) {
producer.send(message, getDeliveryMode(), getPriority(), getTimeToLive());
}
因此,您应该添加
explicit-qos-enabled="true"
与…并列
time-to-live="5000"
为您的
<int-jms:outbound-channel-adapter>
.