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
This commit is contained in:
Vedran Pavic
2023-09-27 19:24:56 +02:00
committed by Stéphane Nicoll
parent ce9ca700f3
commit 11c2cde62e
2 changed files with 3 additions and 4 deletions

View File

@@ -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;
}

View File

@@ -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