From 11c2cde62e70099cab47d64d27bb1c17cdf45f0f Mon Sep 17 00:00:00 2001 From: Vedran Pavic Date: Wed, 27 Sep 2023 19:24:56 +0200 Subject: [PATCH] Fix regression in JmsAccessor#setSessionAcknowledgeMode This commit partially reverts 3b8dd0a5, which introduced a strict validation in JmsAccessor#setSessionAcknowledgeMode that prevents use of vendor-specific acknowledge modes. See gh-31328 --- .../java/org/springframework/jms/support/JmsAccessor.java | 2 -- .../org/springframework/jms/support/JmsAccessorTests.java | 5 +++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/spring-jms/src/main/java/org/springframework/jms/support/JmsAccessor.java b/spring-jms/src/main/java/org/springframework/jms/support/JmsAccessor.java index c196a84b566..5145749e7fb 100644 --- a/spring-jms/src/main/java/org/springframework/jms/support/JmsAccessor.java +++ b/spring-jms/src/main/java/org/springframework/jms/support/JmsAccessor.java @@ -167,8 +167,6 @@ public abstract class JmsAccessor implements InitializingBean { * @see jakarta.jms.Connection#createSession(boolean, int) */ public void setSessionAcknowledgeMode(int sessionAcknowledgeMode) { - Assert.isTrue(sessionConstants.containsValue(sessionAcknowledgeMode), - "Only values of acknowledge mode constants allowed"); this.sessionAcknowledgeMode = sessionAcknowledgeMode; } diff --git a/spring-jms/src/test/java/org/springframework/jms/support/JmsAccessorTests.java b/spring-jms/src/test/java/org/springframework/jms/support/JmsAccessorTests.java index 69f4f9225a1..f7626f9c318 100644 --- a/spring-jms/src/test/java/org/springframework/jms/support/JmsAccessorTests.java +++ b/spring-jms/src/test/java/org/springframework/jms/support/JmsAccessorTests.java @@ -98,8 +98,6 @@ class JmsAccessorTests { @Test void setSessionAcknowledgeMode() { - assertThatIllegalArgumentException().isThrownBy(() -> accessor.setSessionAcknowledgeMode(999)); - accessor.setSessionAcknowledgeMode(Session.AUTO_ACKNOWLEDGE); assertThat(accessor.getSessionAcknowledgeMode()).isEqualTo(Session.AUTO_ACKNOWLEDGE); @@ -111,6 +109,9 @@ class JmsAccessorTests { accessor.setSessionAcknowledgeMode(Session.SESSION_TRANSACTED); assertThat(accessor.getSessionAcknowledgeMode()).isEqualTo(Session.SESSION_TRANSACTED); + + accessor.setSessionAcknowledgeMode(999); + assertThat(accessor.getSessionAcknowledgeMode()).isEqualTo(999); } @Test