Skip to content

Commit b7facec

Browse files
committed
Rename spring.jms.listener.acknowledge-mode
Closes gh-37602
1 parent 145fb16 commit b7facec

File tree

4 files changed

+36
-14
lines changed

4 files changed

+36
-14
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/DefaultJmsListenerContainerFactoryConfigurer.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,7 @@ public void configure(DefaultJmsListenerContainerFactory factory, ConnectionFact
118118
}
119119
JmsProperties.Listener listener = this.jmsProperties.getListener();
120120
factory.setAutoStartup(listener.isAutoStartup());
121-
if (listener.getAcknowledgeMode() != null) {
122-
factory.setSessionAcknowledgeMode(listener.getAcknowledgeMode().getMode());
123-
}
121+
factory.setSessionAcknowledgeMode(listener.getSession().getAcknowledgeMode().getMode());
124122
String concurrency = listener.formatConcurrency();
125123
if (concurrency != null) {
126124
factory.setConcurrency(concurrency);

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/JmsProperties.java

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -141,12 +141,6 @@ public static class Listener {
141141
*/
142142
private boolean autoStartup = true;
143143

144-
/**
145-
* Acknowledge mode of the container. By default, the listener is transacted with
146-
* automatic acknowledgment.
147-
*/
148-
private AcknowledgeMode acknowledgeMode;
149-
150144
/**
151145
* Minimum number of concurrent consumers. When max-concurrency is not specified
152146
* the minimum will also be used as the maximum.
@@ -165,6 +159,8 @@ public static class Listener {
165159
*/
166160
private Duration receiveTimeout = Duration.ofSeconds(1);
167161

162+
private final Session session = new Session();
163+
168164
public boolean isAutoStartup() {
169165
return this.autoStartup;
170166
}
@@ -173,12 +169,15 @@ public void setAutoStartup(boolean autoStartup) {
173169
this.autoStartup = autoStartup;
174170
}
175171

172+
@Deprecated(since = "3.2.0", forRemoval = true)
173+
@DeprecatedConfigurationProperty(replacement = "spring.jms.listener.session.acknowledge-mode", since = "3.2.0")
176174
public AcknowledgeMode getAcknowledgeMode() {
177-
return this.acknowledgeMode;
175+
return this.session.getAcknowledgeMode();
178176
}
179177

178+
@Deprecated(since = "3.2.0", forRemoval = true)
180179
public void setAcknowledgeMode(AcknowledgeMode acknowledgeMode) {
181-
this.acknowledgeMode = acknowledgeMode;
180+
this.session.setAcknowledgeMode(acknowledgeMode);
182181
}
183182

184183
@DeprecatedConfigurationProperty(replacement = "spring.jms.listener.min-concurrency", since = "3.2.0")
@@ -224,6 +223,27 @@ public void setReceiveTimeout(Duration receiveTimeout) {
224223
this.receiveTimeout = receiveTimeout;
225224
}
226225

226+
public Session getSession() {
227+
return this.session;
228+
}
229+
230+
public static class Session {
231+
232+
/**
233+
* Acknowledge mode of the listener container.
234+
*/
235+
private AcknowledgeMode acknowledgeMode = AcknowledgeMode.AUTO;
236+
237+
public AcknowledgeMode getAcknowledgeMode() {
238+
return this.acknowledgeMode;
239+
}
240+
241+
public void setAcknowledgeMode(AcknowledgeMode acknowledgeMode) {
242+
this.acknowledgeMode = acknowledgeMode;
243+
}
244+
245+
}
246+
227247
}
228248

229249
public static class Template {

spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/additional-spring-configuration-metadata.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1571,6 +1571,10 @@
15711571
"name": "spring.jersey.type",
15721572
"defaultValue": "servlet"
15731573
},
1574+
{
1575+
"name": "spring.jms.listener.session.acknowledge-mode",
1576+
"defaultValue": "auto"
1577+
},
15741578
{
15751579
"name": "spring.jms.template.session.acknowledge-mode",
15761580
"defaultValue": "auto"

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfigurationTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,9 @@ void jmsListenerContainerFactoryWhenMultipleConnectionFactoryBeansShouldBackOff(
142142
@Test
143143
void testJmsListenerContainerFactoryWithCustomSettings() {
144144
this.contextRunner.withUserConfiguration(EnableJmsConfiguration.class)
145-
.withPropertyValues("spring.jms.listener.autoStartup=false", "spring.jms.listener.acknowledgeMode=client",
146-
"spring.jms.listener.minConcurrency=2", "spring.jms.listener.receiveTimeout=2s",
147-
"spring.jms.listener.maxConcurrency=10")
145+
.withPropertyValues("spring.jms.listener.autoStartup=false",
146+
"spring.jms.listener.session.acknowledgeMode=client", "spring.jms.listener.minConcurrency=2",
147+
"spring.jms.listener.receiveTimeout=2s", "spring.jms.listener.maxConcurrency=10")
148148
.run(this::testJmsListenerContainerFactoryWithCustomSettings);
149149
}
150150

0 commit comments

Comments
 (0)