[ISSUE #612] Support Springboot 3.X (#611)
1. Replace `@PostConstruct` with constructor
2. log format style
3. Springboot 3.x autoconfigure
Co-authored-by: pangxiao1 <pangxiao1@xiaomi.com>
diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.java
index a8c7379..9ed8ad9 100644
--- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.java
+++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.java
@@ -29,7 +29,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
@@ -48,8 +47,6 @@
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
-import javax.annotation.PostConstruct;
-
@Configuration
@EnableConfigurationProperties(RocketMQProperties.class)
@ConditionalOnClass({MQAdmin.class})
@@ -66,17 +63,20 @@
public static final String PRODUCER_BEAN_NAME = "defaultMQProducer";
public static final String CONSUMER_BEAN_NAME = "defaultLitePullConsumer";
- @Autowired
- private Environment environment;
+ private final Environment environment;
private ApplicationContext applicationContext;
+ public RocketMQAutoConfiguration(Environment environment) {
+ this.environment = environment;
+ checkProperties();
+ }
+
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
- @PostConstruct
public void checkProperties() {
String nameServer = environment.getProperty("rocketmq.name-server", String.class);
log.debug("rocketmq.nameServer = {}", nameServer);
@@ -117,7 +117,7 @@
producer.setUseTLS(producerConfig.isTlsEnable());
producer.setNamespace(producerConfig.getNamespace());
producer.setInstanceName(producerConfig.getInstanceName());
- log.info(String.format("a producer (%s) init on namesrv %s", groupName,nameServer));
+ log.info("a producer ({}) init on namesrv {}", groupName, nameServer);
return producer;
}
@@ -149,7 +149,7 @@
litePullConsumer.setCustomizedTraceTopic(consumerConfig.getCustomizedTraceTopic());
litePullConsumer.setNamespace(consumerConfig.getNamespace());
litePullConsumer.setInstanceName(consumerConfig.getInstanceName());
- log.info(String.format("a pull consumer(%s sub %s) init on namesrv %s", groupName, topicName,nameServer));
+ log.info("a pull consumer({} sub {}) init on namesrv {}", groupName, topicName, nameServer);
return litePullConsumer;
}
diff --git a/rocketmq-v5-client-spring-boot/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/rocketmq-v5-client-spring-boot/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..4dd19c2
--- /dev/null
+++ b/rocketmq-v5-client-spring-boot/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+org.apache.rocketmq.client.autoconfigure.RocketMQAutoConfiguration
\ No newline at end of file