Assert JmsActivationSpecConfig.setAcknowledgeMode() values
See gh-30851
This commit is contained in:
@@ -206,7 +206,7 @@ public class JmsActivationSpecConfig {
|
||||
Assert.hasText(constantName, "'constantName' must not be null or blank");
|
||||
Integer acknowledgeMode = sessionConstants.get(constantName);
|
||||
Assert.notNull(acknowledgeMode, "Only acknowledge mode constants allowed");
|
||||
setAcknowledgeMode(acknowledgeMode);
|
||||
this.acknowledgeMode = acknowledgeMode;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -217,6 +217,8 @@ public class JmsActivationSpecConfig {
|
||||
* @see jakarta.jms.Session#SESSION_TRANSACTED
|
||||
*/
|
||||
public void setAcknowledgeMode(int acknowledgeMode) {
|
||||
Assert.isTrue(sessionConstants.containsValue(acknowledgeMode),
|
||||
"Only values of acknowledge mode constants allowed");
|
||||
this.acknowledgeMode = acknowledgeMode;
|
||||
}
|
||||
|
||||
|
||||
@@ -65,6 +65,23 @@ class JmsActivationSpecConfigTests {
|
||||
assertThat(uniqueValues).hasSize(4);
|
||||
}
|
||||
|
||||
@Test
|
||||
void setSessionAcknowledgeMode() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> specConfig.setAcknowledgeMode(999));
|
||||
|
||||
specConfig.setAcknowledgeMode(Session.AUTO_ACKNOWLEDGE);
|
||||
assertThat(specConfig.getAcknowledgeMode()).isEqualTo(Session.AUTO_ACKNOWLEDGE);
|
||||
|
||||
specConfig.setAcknowledgeMode(Session.CLIENT_ACKNOWLEDGE);
|
||||
assertThat(specConfig.getAcknowledgeMode()).isEqualTo(Session.CLIENT_ACKNOWLEDGE);
|
||||
|
||||
specConfig.setAcknowledgeMode(Session.DUPS_OK_ACKNOWLEDGE);
|
||||
assertThat(specConfig.getAcknowledgeMode()).isEqualTo(Session.DUPS_OK_ACKNOWLEDGE);
|
||||
|
||||
specConfig.setAcknowledgeMode(Session.SESSION_TRANSACTED);
|
||||
assertThat(specConfig.getAcknowledgeMode()).isEqualTo(Session.SESSION_TRANSACTED);
|
||||
}
|
||||
|
||||
|
||||
private static Stream<String> streamAcknowledgeModeConstants() {
|
||||
return Arrays.stream(Session.class.getFields())
|
||||
|
||||
Reference in New Issue
Block a user