File tree Expand file tree Collapse file tree 2 files changed +24
-1
lines changed
main/java/org/springframework/jms/listener
test/java/org/springframework/jms/listener Expand file tree Collapse file tree 2 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -280,7 +280,7 @@ public void setCacheLevelName(String constantName) throws IllegalArgumentExcepti
280
280
Assert .hasText (constantName , "'constantName' must not be null or blank" );
281
281
Integer cacheLevel = constants .get (constantName );
282
282
Assert .notNull (cacheLevel , "Only cache constants allowed" );
283
- setCacheLevel ( cacheLevel ) ;
283
+ this . cacheLevel = cacheLevel ;
284
284
}
285
285
286
286
/**
@@ -304,6 +304,7 @@ public void setCacheLevelName(String constantName) throws IllegalArgumentExcepti
304
304
* @see #setTransactionManager
305
305
*/
306
306
public void setCacheLevel (int cacheLevel ) {
307
+ Assert .isTrue (constants .containsValue (cacheLevel ), "Only values of cache constants allowed" );
307
308
this .cacheLevel = cacheLevel ;
308
309
}
309
310
Original file line number Diff line number Diff line change @@ -172,6 +172,28 @@ void setCacheLevelNameToAllSupportedValues() {
172
172
assertThat (uniqueValues ).hasSize (5 );
173
173
}
174
174
175
+ @ Test
176
+ void setCacheLevel () {
177
+ DefaultMessageListenerContainer container = new DefaultMessageListenerContainer ();
178
+
179
+ assertThatIllegalArgumentException ().isThrownBy (() -> container .setCacheLevel (999 ));
180
+
181
+ container .setCacheLevel (DefaultMessageListenerContainer .CACHE_NONE );
182
+ assertThat (container .getCacheLevel ()).isEqualTo (DefaultMessageListenerContainer .CACHE_NONE );
183
+
184
+ container .setCacheLevel (DefaultMessageListenerContainer .CACHE_CONNECTION );
185
+ assertThat (container .getCacheLevel ()).isEqualTo (DefaultMessageListenerContainer .CACHE_CONNECTION );
186
+
187
+ container .setCacheLevel (DefaultMessageListenerContainer .CACHE_SESSION );
188
+ assertThat (container .getCacheLevel ()).isEqualTo (DefaultMessageListenerContainer .CACHE_SESSION );
189
+
190
+ container .setCacheLevel (DefaultMessageListenerContainer .CACHE_CONSUMER );
191
+ assertThat (container .getCacheLevel ()).isEqualTo (DefaultMessageListenerContainer .CACHE_CONSUMER );
192
+
193
+ container .setCacheLevel (DefaultMessageListenerContainer .CACHE_AUTO );
194
+ assertThat (container .getCacheLevel ()).isEqualTo (DefaultMessageListenerContainer .CACHE_AUTO );
195
+ }
196
+
175
197
176
198
private static Stream <String > streamCacheConstants () {
177
199
return Arrays .stream (DefaultMessageListenerContainer .class .getFields ())
You can’t perform that action at this time.
0 commit comments