This is an automated email from the ASF dual-hosted git repository.
jinrongtong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-spring.git
The following commit(s) were added to refs/heads/master by this push:
new acd0ee9 [ISSUE #439] Fix the wrong comment description of the default
value in the keepalivetime field of the RocketMQTransactionListener annotation.
acd0ee9 is described below
commit acd0ee9342a9e633faca89e68893ab4280c7bdf4
Author: yanghao888 <[email protected]>
AuthorDate: Fri Mar 25 10:27:47 2022 +0800
[ISSUE #439] Fix the wrong comment description of the default value in the
keepalivetime field of the RocketMQTransactionListener annotation.
---
.../rocketmq/spring/annotation/RocketMQTransactionListener.java | 8 +++++++-
.../spring/autoconfigure/RocketMQTransactionConfiguration.java | 2 +-
.../spring/autoconfigure/RocketMQAutoConfigurationTest.java | 9 ++++++++-
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git
a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/annotation/RocketMQTransactionListener.java
b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/annotation/RocketMQTransactionListener.java
index 0faa57a..79438b8 100644
---
a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/annotation/RocketMQTransactionListener.java
+++
b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/annotation/RocketMQTransactionListener.java
@@ -22,6 +22,7 @@ import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
+import java.util.concurrent.TimeUnit;
import org.springframework.stereotype.Component;
/**
@@ -51,7 +52,12 @@ public @interface RocketMQTransactionListener {
/**
* Set ExecutorService params -- keepAliveTime
*/
- long keepAliveTime() default 1000 * 60; //60ms
+ long keepAliveTime() default 1000 * 60;
+
+ /**
+ * Set ExecutorService params -- keepAliveTimeUnit
+ */
+ TimeUnit keepAliveTimeUnit() default TimeUnit.MILLISECONDS;
/**
* Set ExecutorService params -- blockingQueueSize
diff --git
a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQTransactionConfiguration.java
b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQTransactionConfiguration.java
index 74badbb..e471275 100644
---
a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQTransactionConfiguration.java
+++
b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQTransactionConfiguration.java
@@ -69,7 +69,7 @@ public class RocketMQTransactionConfiguration implements
ApplicationContextAware
throw new
IllegalStateException(annotation.rocketMQTemplateBeanName() + " already exists
RocketMQLocalTransactionListener");
}
((TransactionMQProducer)
rocketMQTemplate.getProducer()).setExecutorService(new
ThreadPoolExecutor(annotation.corePoolSize(), annotation.maximumPoolSize(),
- annotation.keepAliveTime(), TimeUnit.MILLISECONDS, new
LinkedBlockingDeque<>(annotation.blockingQueueSize())));
+ annotation.keepAliveTime(), annotation.keepAliveTimeUnit(), new
LinkedBlockingDeque<>(annotation.blockingQueueSize())));
((TransactionMQProducer)
rocketMQTemplate.getProducer()).setTransactionListener(RocketMQUtil.convert((RocketMQLocalTransactionListener)
bean));
log.debug("RocketMQLocalTransactionListener {} register to {}
success", clazz.getName(), annotation.rocketMQTemplateBeanName());
}
diff --git
a/rocketmq-spring-boot/src/test/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfigurationTest.java
b/rocketmq-spring-boot/src/test/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfigurationTest.java
index 9f31b09..03614f7 100644
---
a/rocketmq-spring-boot/src/test/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfigurationTest.java
+++
b/rocketmq-spring-boot/src/test/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfigurationTest.java
@@ -20,9 +20,12 @@ package org.apache.rocketmq.spring.autoconfigure;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
import org.apache.rocketmq.client.consumer.DefaultLitePullConsumer;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
+import org.apache.rocketmq.client.producer.TransactionMQProducer;
import org.apache.rocketmq.spring.annotation.ExtRocketMQConsumerConfiguration;
import org.apache.rocketmq.spring.annotation.ExtRocketMQTemplateConfiguration;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
@@ -168,6 +171,10 @@ public class RocketMQAutoConfigurationTest {
withUserConfiguration(TestTransactionListenerConfig.class).
run((context) -> {
assertThat(context).hasSingleBean(TestRocketMQLocalTransactionListener.class);
+ RocketMQTransactionListener annotation =
TestRocketMQLocalTransactionListener.class.getAnnotation(RocketMQTransactionListener.class);
+ RocketMQTemplate rocketMQTemplate = (RocketMQTemplate)
context.getBean(annotation.rocketMQTemplateBeanName());
+ ThreadPoolExecutor executor = (ThreadPoolExecutor)
((TransactionMQProducer) rocketMQTemplate.getProducer()).getExecutorService();
+
assertThat(executor.getKeepAliveTime(TimeUnit.SECONDS)).isEqualTo(50);
});
}
@@ -351,7 +358,7 @@ public class RocketMQAutoConfigurationTest {
}
- @RocketMQTransactionListener
+ @RocketMQTransactionListener(keepAliveTime = 50, keepAliveTimeUnit =
TimeUnit.SECONDS)
static class TestRocketMQLocalTransactionListener implements
RocketMQLocalTransactionListener {
@Override