Skip to content

Commit defa439

Browse files
committed
review fixes
1 parent e5048c0 commit defa439

File tree

10 files changed

+82
-78
lines changed

10 files changed

+82
-78
lines changed

spring-kafka-docs/src/main/antora/modules/ROOT/pages/kafka/transactions.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ This property must have a different value on each application instance.
110110
[[transaction-id-suffix-fixed]]
111111
== `TransactionIdSuffix Fixed`
112112

113-
Since 3.1, introduced a new interface `TransactionSuffixManager` to manage `transactional.id` suffix.
114-
The default implementation is `DefaultTransactionSuffixManager` when setting `maxCache` greater than zero can reuse `transactional.id` within a specific range, otherwise suffixes will be generated on the fly by incrementing a counter.
113+
Since 3.1, introduced a new interface `TransactionIdSuffixStrategy` to manage `transactional.id` suffix.
114+
The default implementation is `DefaultTransactionIdSuffixStrategy` when setting `maxCache` greater than zero can reuse `transactional.id` within a specific range, otherwise suffixes will be generated on the fly by incrementing a counter.
115115
When a transaction producer is requested and `transactional.id` all in use, throw a `NoProducerAvailableException`.
116116
User can then use a RetryTemplate configured to retry that exception, with a suitably configured back off.
117117

@@ -126,9 +126,9 @@ public static class Config {
126126
...
127127
DefaultKafkaProducerFactory<String, String> pf = new DefaultKafkaProducerFactory<>(configs);
128128
...
129-
DefaultTransactionSuffixManager sm = new DefaultTransactionSuffixManager();
130-
sm.setMaxCache(5);
131-
pf.setTransactionSuffixManager(sm);
129+
DefaultTransactionIdSuffixStrategy ss = new DefaultTransactionIdSuffixStrategy();
130+
ss.setMaxCache(5);
131+
pf.setTransactionIdSuffixStrategy(ss);
132132
return pf;
133133
}
134134

spring-kafka-docs/src/main/antora/modules/ROOT/pages/whats-new.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ When manually assigning partitions, with a `null` consumer `group.id`, the `AckM
5252
See xref:tips.adoc#tip-assign-all-parts[Manually Assigning All Partitions] for more information.
5353

5454
[[x31-dkpf]]
55-
=== TransactionSuffixManager
55+
=== TransactionIdSuffixStrategy
5656

57-
A new `TransactionSuffixManager` interface with `DefaultTransactionSuffixManager` implementation is provided to restrict `transaction.id` in range.
57+
A new `TransactionIdSuffixStrategy` interface with `DefaultTransactionIdSuffixStrategy` implementation is provided to restrict `transaction.id` in range.
5858
See xref:kafka/transactions.adoc#transaction-id-suffix-fixed[Fixed TransactionIdSuffix] for more information.

spring-kafka/src/main/java/org/springframework/kafka/core/DefaultKafkaProducerFactory.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public class DefaultKafkaProducerFactory<K, V> extends KafkaResourceFactory
135135

136136
private final AtomicBoolean running = new AtomicBoolean();
137137

138-
private TransactionSuffixManager transactionSuffixManager = new DefaultTransactionSuffixManager();
138+
private TransactionIdSuffixStrategy transactionIdSuffixStrategy = new DefaultTransactionIdSuffixStrategy();
139139

140140
private Supplier<Serializer<K>> keySerializerSupplier;
141141

@@ -351,12 +351,12 @@ public void setValueSerializerSupplier(Supplier<Serializer<V>> valueSerializerSu
351351
}
352352

353353
/**
354-
* Set the transaction suffix manager.
355-
* @param transactionSuffixManager the manager.
354+
* Set the transaction suffix strategy.
355+
* @param transactionIdSuffixStrategy the strategy.
356356
* @since 3.1.1
357357
*/
358-
public void setTransactionSuffixManager(TransactionSuffixManager transactionSuffixManager) {
359-
this.transactionSuffixManager = transactionSuffixManager;
358+
public void setTransactionIdSuffixStrategy(TransactionIdSuffixStrategy transactionIdSuffixStrategy) {
359+
this.transactionIdSuffixStrategy = transactionIdSuffixStrategy;
360360
}
361361

362362
/**
@@ -718,7 +718,7 @@ public void destroy() {
718718
}
719719
});
720720
this.cache.clear();
721-
this.transactionSuffixManager.reset();
721+
this.transactionIdSuffixStrategy.reset();
722722
this.threadBoundProducers.values().forEach(prod -> {
723723
try {
724724
prod.closeDelegate(this.physicalCloseTimeout, this.listeners);
@@ -856,7 +856,7 @@ protected Producer<K, V> createTransactionalProducer(String txIdPrefix) {
856856
}
857857
}
858858
if (cachedProducer == null) {
859-
String suffix = this.transactionSuffixManager.retrieveSuffix(txIdPrefix);
859+
String suffix = this.transactionIdSuffixStrategy.acquireSuffix(txIdPrefix);
860860
return doCreateTxProducer(txIdPrefix, suffix, this::cacheReturner);
861861
}
862862
else {
@@ -905,7 +905,7 @@ private void closeTransactionProducer(CloseSafeProducer<K, V> producer, Duration
905905
producer.closeDelegate(timeout, listeners);
906906
}
907907
finally {
908-
this.transactionSuffixManager.returnSuffix(producer.txIdPrefix, producer.txIdSuffix);
908+
this.transactionIdSuffixStrategy.releaseSuffix(producer.txIdPrefix, producer.txIdSuffix);
909909
}
910910
}
911911

@@ -925,7 +925,7 @@ private CloseSafeProducer<K, V> doCreateTxProducer(String prefix, String suffix,
925925
throw newEx; // NOSONAR - lost stack trace
926926
}
927927
finally {
928-
this.transactionSuffixManager.returnSuffix(prefix, suffix);
928+
this.transactionIdSuffixStrategy.releaseSuffix(prefix, suffix);
929929
}
930930
throw new KafkaException("initTransactions() failed", ex);
931931
}

spring-kafka/src/main/java/org/springframework/kafka/core/DefaultTransactionSuffixManager.java renamed to spring-kafka/src/main/java/org/springframework/kafka/core/DefaultTransactionIdSuffixStrategy.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import org.springframework.util.Assert;
2727

2828
/**
29-
* The {@link TransactionSuffixManager} implementation for managing transactional producer suffixes.
29+
* The {@link TransactionIdSuffixStrategy} implementation for managing transactional producer suffixes.
3030
* If the {@link #maxCache} is greater than 0, the suffixes will be cached and reused.
3131
* Otherwise, the suffixes will be generated on the fly.
3232
*
@@ -39,7 +39,7 @@
3939
*
4040
* @since 3.1.1
4141
*/
42-
public class DefaultTransactionSuffixManager implements TransactionSuffixManager {
42+
public class DefaultTransactionIdSuffixStrategy implements TransactionIdSuffixStrategy {
4343

4444
private final AtomicInteger transactionIdSuffix = new AtomicInteger();
4545

@@ -55,7 +55,8 @@ public class DefaultTransactionSuffixManager implements TransactionSuffixManager
5555
* @throws NoProducerAvailableException if caching is enabled and no suffixes are available.
5656
*/
5757
@Override
58-
public String retrieveSuffix(String txIdPrefix) {
58+
public String acquireSuffix(String txIdPrefix) {
59+
Assert.notNull(txIdPrefix, "'txIdPrefix' must not be null");
5960
BlockingQueue<String> cache = getSuffixCache(txIdPrefix);
6061
if (cache == null) {
6162
return String.valueOf(this.transactionIdSuffix.getAndIncrement());
@@ -69,8 +70,10 @@ public String retrieveSuffix(String txIdPrefix) {
6970
}
7071

7172
@Override
72-
public void returnSuffix(@Nullable String txIdPrefix, @Nullable String suffix) {
73-
if (this.maxCache <= 0 || suffix == null) {
73+
public void releaseSuffix(String txIdPrefix, String suffix) {
74+
Assert.notNull(txIdPrefix, "'txIdPrefix' must not be null");
75+
Assert.notNull(suffix, "'suffix' must not be null");
76+
if (this.maxCache <= 0) {
7477
return;
7578
}
7679
BlockingQueue<String> queue = getSuffixCache(txIdPrefix);
@@ -94,8 +97,8 @@ public void setMaxCache(int maxCache) {
9497
}
9598

9699
@Nullable
97-
private BlockingQueue<String> getSuffixCache(@Nullable String txIdPrefix) {
98-
if (txIdPrefix == null || this.maxCache <= 0) {
100+
private BlockingQueue<String> getSuffixCache(String txIdPrefix) {
101+
if (this.maxCache <= 0) {
99102
return null;
100103
}
101104

spring-kafka/src/main/java/org/springframework/kafka/core/TransactionSuffixManager.java renamed to spring-kafka/src/main/java/org/springframework/kafka/core/TransactionIdSuffixStrategy.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,23 @@
2323
*
2424
* @since 3.1.1
2525
*/
26-
public interface TransactionSuffixManager {
26+
public interface TransactionIdSuffixStrategy {
2727

2828
/**
29-
* Retrieve the suffix for the transactional producer.
29+
* Acquire the suffix for the transactional producer.
3030
*
3131
* @param txIdPrefix the transaction id prefix.
3232
* @return the suffix.
3333
*/
34-
String retrieveSuffix(String txIdPrefix);
34+
String acquireSuffix(String txIdPrefix);
3535

3636
/**
37-
* Return the suffix for the transactional producer back for reuse.
37+
* Release the suffix for the transactional producer.
3838
*
3939
* @param txIdPrefix the transaction id prefix.
4040
* @param suffix the suffix.
4141
*/
42-
void returnSuffix(String txIdPrefix, String suffix);
42+
void releaseSuffix(String txIdPrefix, String suffix);
4343

4444
/**
4545
* Clear all suffixes for the transactional producer.

spring-kafka/src/main/java/org/springframework/kafka/listener/KafkaMessageListenerContainer.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -926,6 +926,7 @@ else if (listener instanceof MessageListener) {
926926
if (this.containerProperties.isLogContainerConfig()) {
927927
this.logger.info(toString());
928928
}
929+
Map<String, Object> props = KafkaMessageListenerContainer.this.consumerFactory.getConfigurationProperties();
929930
ApplicationContext applicationContext = getApplicationContext();
930931
this.checkNullKeyForExceptions = this.containerProperties.isCheckDeserExWhenKeyNull()
931932
|| ErrorHandlingUtils.checkDeserializer(KafkaMessageListenerContainer.this.consumerFactory,

spring-kafka/src/test/java/org/springframework/kafka/core/DefaultKafkaConsumerFactoryTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -384,9 +384,9 @@ public void testNestedTxProducerIsFixed() throws Exception {
384384
KafkaTemplate<Integer, String> template = new KafkaTemplate<>(pf);
385385
DefaultKafkaProducerFactory<Integer, String> pfTx = new DefaultKafkaProducerFactory<>(producerProps);
386386
pfTx.setTransactionIdPrefix("fooTx.fixed.");
387-
DefaultTransactionSuffixManager tsManager = new DefaultTransactionSuffixManager();
388-
tsManager.setMaxCache(3);
389-
pfTx.setTransactionSuffixManager(tsManager);
387+
DefaultTransactionIdSuffixStrategy suffixStrategy = new DefaultTransactionIdSuffixStrategy();
388+
suffixStrategy.setMaxCache(3);
389+
pfTx.setTransactionIdSuffixStrategy(suffixStrategy);
390390
KafkaOperations<Integer, String> templateTx = new KafkaTemplate<>(pfTx);
391391
Map<String, Object> consumerProps = KafkaTestUtils.consumerProps("txCache1FixedGroup", "false", this.embeddedKafka);
392392
DefaultKafkaConsumerFactory<Integer, String> cf = new DefaultKafkaConsumerFactory<>(consumerProps);
@@ -419,7 +419,7 @@ public void testNestedTxProducerIsFixed() throws Exception {
419419
assertThat(latch.await(30, TimeUnit.SECONDS)).isTrue();
420420
assertThat(KafkaTestUtils.getPropertyValue(pfTx, "cache", Map.class)).hasSize(1);
421421
assertThat(pfTx.getCache()).hasSize(1);
422-
assertThat(KafkaTestUtils.getPropertyValue(tsManager, "suffixCache", Map.class)).hasSize(1);
422+
assertThat(KafkaTestUtils.getPropertyValue(suffixStrategy, "suffixCache", Map.class)).hasSize(1);
423423
// 1 tm tx producer and 1 templateTx tx producer
424424
assertThat(KafkaTestUtils.getPropertyValue(container, "listenerConsumer.consumer")).isSameAs(wrapped.get());
425425
}

spring-kafka/src/test/java/org/springframework/kafka/core/DefaultKafkaProducerFactoryTests.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,9 @@ protected Producer createRawProducer(Map configs) {
137137

138138
};
139139
pf.setTransactionIdPrefix("foo");
140-
DefaultTransactionSuffixManager tsManager = new DefaultTransactionSuffixManager();
141-
tsManager.setMaxCache(2);
142-
pf.setTransactionSuffixManager(tsManager);
140+
DefaultTransactionIdSuffixStrategy suffixStrategy = new DefaultTransactionIdSuffixStrategy();
141+
suffixStrategy.setMaxCache(2);
142+
pf.setTransactionIdSuffixStrategy(suffixStrategy);
143143

144144
final AtomicInteger flag = new AtomicInteger();
145145
willAnswer(i -> {
@@ -184,7 +184,7 @@ protected Producer createRawProducer(Map configs) {
184184
assertThat(cache).hasSize(1);
185185
Queue queue = (Queue) cache.get("foo");
186186
assertThat(queue).hasSize(1);
187-
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(tsManager, "suffixCache", Map.class);
187+
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(suffixStrategy, "suffixCache", Map.class);
188188
assertThat(suffixCache).hasSize(1);
189189
Queue suffixQueue = (Queue) suffixCache.get("foo");
190190
assertThat(suffixQueue).hasSize(1);
@@ -310,9 +310,9 @@ protected Producer createRawProducer(Map configs) {
310310
};
311311
pf.setApplicationContext(ctx);
312312
pf.setTransactionIdPrefix("foo");
313-
DefaultTransactionSuffixManager tsManager = new DefaultTransactionSuffixManager();
314-
tsManager.setMaxCache(3);
315-
pf.setTransactionSuffixManager(tsManager);
313+
DefaultTransactionIdSuffixStrategy suffixStrategy = new DefaultTransactionIdSuffixStrategy();
314+
suffixStrategy.setMaxCache(3);
315+
pf.setTransactionIdSuffixStrategy(suffixStrategy);
316316
Producer aProducer = pf.createProducer();
317317
assertThat(aProducer).isNotNull();
318318
aProducer.close();
@@ -324,7 +324,7 @@ protected Producer createRawProducer(Map configs) {
324324
assertThat(cache.size()).isEqualTo(1);
325325
Queue queue = (Queue) cache.get("foo");
326326
assertThat(queue.size()).isEqualTo(1);
327-
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(tsManager, "suffixCache", Map.class);
327+
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(suffixStrategy, "suffixCache", Map.class);
328328
assertThat(suffixCache.size()).isEqualTo(1);
329329
Queue suffixQueue = (Queue) suffixCache.get("foo");
330330
assertThat(suffixQueue.size()).isEqualTo(2);
@@ -389,9 +389,9 @@ protected Producer createRawProducer(Map configs) {
389389
};
390390
pf.setApplicationContext(ctx);
391391
pf.setTransactionIdPrefix("foo");
392-
DefaultTransactionSuffixManager tsManager = new DefaultTransactionSuffixManager();
393-
tsManager.setMaxCache(3);
394-
pf.setTransactionSuffixManager(tsManager);
392+
DefaultTransactionIdSuffixStrategy suffixStrategy = new DefaultTransactionIdSuffixStrategy();
393+
suffixStrategy.setMaxCache(3);
394+
pf.setTransactionIdSuffixStrategy(suffixStrategy);
395395
Producer aProducer = pf.createProducer();
396396
assertThat(aProducer).isNotNull();
397397
aProducer.close();
@@ -403,7 +403,7 @@ protected Producer createRawProducer(Map configs) {
403403
assertThat(cache.size()).isEqualTo(1);
404404
Queue queue = (Queue) cache.get("foo");
405405
assertThat(queue.size()).isEqualTo(1);
406-
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(tsManager, "suffixCache", Map.class);
406+
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(suffixStrategy, "suffixCache", Map.class);
407407
assertThat(suffixCache.size()).isEqualTo(1);
408408
Queue suffixQueue = (Queue) suffixCache.get("foo");
409409
assertThat(suffixQueue.size()).isEqualTo(2);
@@ -552,10 +552,10 @@ protected Producer createRawProducer(Map configs) {
552552

553553
};
554554
pf.setTransactionIdPrefix("foo");
555-
DefaultTransactionSuffixManager tsManager = new DefaultTransactionSuffixManager();
556-
tsManager.setMaxCache(2);
557-
pf.setTransactionSuffixManager(tsManager);
558-
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(tsManager, "suffixCache", Map.class);
555+
DefaultTransactionIdSuffixStrategy suffixStrategy = new DefaultTransactionIdSuffixStrategy();
556+
suffixStrategy.setMaxCache(2);
557+
pf.setTransactionIdSuffixStrategy(suffixStrategy);
558+
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(suffixStrategy, "suffixCache", Map.class);
559559
pf.createProducer();
560560
Queue queue = (Queue) suffixCache.get("foo");
561561
assertThat(queue).hasSize(1);

spring-kafka/src/test/java/org/springframework/kafka/core/DefaultTransactionSuffixManagerTests.java renamed to spring-kafka/src/test/java/org/springframework/kafka/core/DefaultTransactionIdSuffixStrategyTests.java

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,56 +33,56 @@
3333
*
3434
* @since 3.1.1
3535
*/
36-
class DefaultTransactionSuffixManagerTests {
36+
class DefaultTransactionIdSuffixStrategyTests {
3737

38-
private DefaultTransactionSuffixManager manager;
38+
private DefaultTransactionIdSuffixStrategy suffixStrategy;
3939

4040
@BeforeEach
4141
void setUp() {
42-
manager = new DefaultTransactionSuffixManager();
42+
suffixStrategy = new DefaultTransactionIdSuffixStrategy();
4343
}
4444

4545
@Test
4646
void testRetrieveSuffixWithoutCache() {
4747
String txIdPrefix = "txIdPrefix";
48-
String suffix = manager.retrieveSuffix(txIdPrefix);
48+
String suffix = suffixStrategy.acquireSuffix(txIdPrefix);
4949
assertThat(suffix).isNotNull();
5050
}
5151

5252
@Test
5353
void testRetrieveSuffixWithCache() {
5454
String txIdPrefix = "txIdPrefix";
5555
String suffix = "suffix";
56-
assertThatNoException().isThrownBy(() -> manager.returnSuffix(txIdPrefix, suffix));
56+
assertThatNoException().isThrownBy(() -> suffixStrategy.releaseSuffix(txIdPrefix, suffix));
5757
}
5858

5959

6060
@Test
6161
void testRetrieveSuffixWithCacheExhausted() {
6262
String txIdPrefix = "txIdPrefix";
63-
manager.setMaxCache(2);
64-
String suffix1 = manager.retrieveSuffix(txIdPrefix);
65-
String suffix2 = manager.retrieveSuffix(txIdPrefix);
66-
assertThatExceptionOfType(NoProducerAvailableException.class).isThrownBy(() -> manager.retrieveSuffix(txIdPrefix));
63+
suffixStrategy.setMaxCache(2);
64+
String suffix1 = suffixStrategy.acquireSuffix(txIdPrefix);
65+
String suffix2 = suffixStrategy.acquireSuffix(txIdPrefix);
66+
assertThatExceptionOfType(NoProducerAvailableException.class).isThrownBy(() -> suffixStrategy.acquireSuffix(txIdPrefix));
6767
}
6868

6969
@Test
7070
void testReturnSuffixWithCache() {
7171
String txIdPrefix = "txIdPrefix";
72-
manager.setMaxCache(2);
73-
String suffix = manager.retrieveSuffix(txIdPrefix);
74-
assertThatNoException().isThrownBy(() -> manager.returnSuffix(txIdPrefix, suffix));
72+
suffixStrategy.setMaxCache(2);
73+
String suffix = suffixStrategy.acquireSuffix(txIdPrefix);
74+
assertThatNoException().isThrownBy(() -> suffixStrategy.releaseSuffix(txIdPrefix, suffix));
7575
}
7676

7777
@SuppressWarnings("rawtypes")
7878
@Test
7979
void testReturnAllSuffixesWithCache() {
8080
String txIdPrefix = "txIdPrefix";
81-
manager.setMaxCache(2);
82-
String suffix1 = manager.retrieveSuffix(txIdPrefix);
83-
String suffix2 = manager.retrieveSuffix(txIdPrefix);
84-
assertThatNoException().isThrownBy(() -> manager.returnSuffix(txIdPrefix, suffix1));
85-
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(manager, "suffixCache", Map.class);
81+
suffixStrategy.setMaxCache(2);
82+
String suffix1 = suffixStrategy.acquireSuffix(txIdPrefix);
83+
String suffix2 = suffixStrategy.acquireSuffix(txIdPrefix);
84+
assertThatNoException().isThrownBy(() -> suffixStrategy.releaseSuffix(txIdPrefix, suffix1));
85+
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(suffixStrategy, "suffixCache", Map.class);
8686
assertThat(suffixCache).hasSize(1);
8787
Queue queue = (Queue) suffixCache.get(txIdPrefix);
8888
assertThat(queue).hasSize(1);
@@ -92,22 +92,22 @@ void testReturnAllSuffixesWithCache() {
9292
@Test
9393
void testReset() {
9494
String txIdPrefix = "txIdPrefix";
95-
manager.setMaxCache(2);
96-
String suffix1 = manager.retrieveSuffix(txIdPrefix);
97-
String suffix2 = manager.retrieveSuffix(txIdPrefix);
98-
assertThatNoException().isThrownBy(() -> manager.returnSuffix(txIdPrefix, suffix1));
99-
manager.reset();
100-
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(manager, "suffixCache", Map.class);
95+
suffixStrategy.setMaxCache(2);
96+
String suffix1 = suffixStrategy.acquireSuffix(txIdPrefix);
97+
String suffix2 = suffixStrategy.acquireSuffix(txIdPrefix);
98+
assertThatNoException().isThrownBy(() -> suffixStrategy.releaseSuffix(txIdPrefix, suffix1));
99+
suffixStrategy.reset();
100+
Map<?, ?> suffixCache = KafkaTestUtils.getPropertyValue(suffixStrategy, "suffixCache", Map.class);
101101
assertThat(suffixCache).hasSize(0);
102102
}
103103

104104
@Test
105105
void testSetMaxCacheIsNegative() {
106-
assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> manager.setMaxCache(-1));
106+
assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> suffixStrategy.setMaxCache(-1));
107107
}
108108

109109
@Test
110110
void testSetMaxCacheIsZero() {
111-
assertThatNoException().isThrownBy(() -> manager.setMaxCache(0));
111+
assertThatNoException().isThrownBy(() -> suffixStrategy.setMaxCache(0));
112112
}
113113
}

0 commit comments

Comments
 (0)