From d3da2edf18f4025bc68cce5b23de8fbd7c2f6474 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 19 Dec 2012 21:42:37 +0100 Subject: [PATCH] JmsTemplate uses configured receiveTimeout if shorter than remaining transaction timeout Issue: SPR-10109 --- .../main/java/org/springframework/jms/core/JmsTemplate.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-jms/src/main/java/org/springframework/jms/core/JmsTemplate.java b/spring-jms/src/main/java/org/springframework/jms/core/JmsTemplate.java index 4c82d1ac78..189a88a89c 100644 --- a/spring-jms/src/main/java/org/springframework/jms/core/JmsTemplate.java +++ b/spring-jms/src/main/java/org/springframework/jms/core/JmsTemplate.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009 the original author or authors. + * Copyright 2002-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -736,7 +736,7 @@ public class JmsTemplate extends JmsDestinationAccessor implements JmsOperations JmsResourceHolder resourceHolder = (JmsResourceHolder) TransactionSynchronizationManager.getResource(getConnectionFactory()); if (resourceHolder != null && resourceHolder.hasTimeout()) { - timeout = resourceHolder.getTimeToLiveInMillis(); + timeout = Math.min(timeout, resourceHolder.getTimeToLiveInMillis()); } Message message = doReceive(consumer, timeout); if (session.getTransacted()) {