From e9d35ca09e6cc59687c3e5c9a91cc468f49eeb10 Mon Sep 17 00:00:00 2001 From: Element Date: Thu, 19 Dec 2019 14:53:11 +0800 Subject: [PATCH 01/15] change clientId algorithm --- .../ListenerContainerConfiguration.java | 3 ++- .../RocketMQAutoConfiguration.java | 1 + .../autoconfigure/RocketMQProperties.java | 22 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java index 7bda36cb..ecde73bb 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java @@ -142,7 +142,8 @@ private DefaultRocketMQListenerContainer createRocketMQListenerContainer(String container.setConsumerGroup(environment.resolvePlaceholders(annotation.consumerGroup())); container.setRocketMQListener((RocketMQListener)bean); container.setMessageConverter(rocketMQMessageConverter.getMessageConverter()); - container.setName(name); // REVIEW ME, use the same clientId or multiple? + container.setName(rocketMQProperties.getClientInstanceName().concat("_").concat(name)); +// container.setName(name); // REVIEW ME, use the same clientId or multiple? return container; } 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 14f7160c..23f24edb 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 @@ -119,6 +119,7 @@ public DefaultMQProducer defaultMQProducer(RocketMQProperties rocketMQProperties producer.setMaxMessageSize(producerConfig.getMaxMessageSize()); producer.setCompressMsgBodyOverHowmuch(producerConfig.getCompressMessageBodyThreshold()); producer.setRetryAnotherBrokerWhenNotStoreOK(producerConfig.isRetryNextServer()); + producer.setInstanceName(rocketMQProperties.getClientInstanceName()); return producer; } diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java index 832d0219..85762687 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java @@ -20,6 +20,7 @@ import org.apache.rocketmq.common.MixAll; import org.springframework.boot.context.properties.ConfigurationProperties; +import java.net.InetAddress; import java.util.HashMap; import java.util.Map; @@ -37,6 +38,8 @@ public class RocketMQProperties { */ private String accessChannel; + private String clientInstanceName = defaultClientInstanceName(); + private Producer producer; /** @@ -73,6 +76,25 @@ public void setProducer(RocketMQProperties.Producer producer) { this.producer = producer; } + public String getClientInstanceName() { + return clientInstanceName; + } + + public void setClientInstanceName(String clientInstanceName) { + this.clientInstanceName = clientInstanceName; + } + + private String defaultClientInstanceName(){ + String defaultName = null; + try{ + defaultName = InetAddress.getLocalHost().getHostName(); + }catch (Exception e){ + defaultName = "INSTANCE"; + } + + return defaultName; + } + public static class Producer { /** From d48788b9394930cf2c7acdd4e53a85eca40d1f11 Mon Sep 17 00:00:00 2001 From: Element Date: Thu, 19 Dec 2019 14:54:01 +0800 Subject: [PATCH 02/15] code format --- .../rocketmq/spring/autoconfigure/RocketMQProperties.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java index 85762687..561456d5 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java @@ -84,11 +84,11 @@ public void setClientInstanceName(String clientInstanceName) { this.clientInstanceName = clientInstanceName; } - private String defaultClientInstanceName(){ + private String defaultClientInstanceName() { String defaultName = null; - try{ + try { defaultName = InetAddress.getLocalHost().getHostName(); - }catch (Exception e){ + } catch (Exception e) { defaultName = "INSTANCE"; } From 8fa9c5d3b8e3ed72875c233595f6c0bbaed8fea8 Mon Sep 17 00:00:00 2001 From: Element Date: Thu, 19 Dec 2019 16:28:24 +0800 Subject: [PATCH 03/15] develop --- pom.xml | 15 ++++++++++++++- rocketmq-spring-boot-parent/pom.xml | 4 ++-- rocketmq-spring-boot-starter/pom.xml | 2 +- rocketmq-spring-boot/pom.xml | 2 +- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index f8acf1d0..e1c1dfb0 100644 --- a/pom.xml +++ b/pom.xml @@ -27,9 +27,22 @@ org.apache.rocketmq rocketmq-spring-all - 2.0.5-SNAPSHOT + 2.0.5.EINSITANG pom + + + 70yi-nexus-releases + Nexus Release Repository + http://14.29.228.199:8081/repository/maven-releases/ + + + + + + + + Apache RocketMQ Spring Boot ${project.version} Build for Apache RocketMQ Spring Boot Support https://github.com/apache/rocketmq-spring diff --git a/rocketmq-spring-boot-parent/pom.xml b/rocketmq-spring-boot-parent/pom.xml index ca490b01..c66a7809 100644 --- a/rocketmq-spring-boot-parent/pom.xml +++ b/rocketmq-spring-boot-parent/pom.xml @@ -22,7 +22,7 @@ org.apache.rocketmq rocketmq-spring-all - 2.0.5-SNAPSHOT + 2.0.5.EINSITANG ../pom.xml @@ -38,7 +38,7 @@ 2.0.5.RELEASE 5.1.0.RELEASE - 2.0.5-SNAPSHOT + 2.0.5.EINSITANG 4.6.0 1.7.25 diff --git a/rocketmq-spring-boot-starter/pom.xml b/rocketmq-spring-boot-starter/pom.xml index 697ab169..d2ed66f3 100644 --- a/rocketmq-spring-boot-starter/pom.xml +++ b/rocketmq-spring-boot-starter/pom.xml @@ -22,7 +22,7 @@ org.apache.rocketmq rocketmq-spring-boot-parent - 2.0.5-SNAPSHOT + 2.0.5.EINSITANG ../rocketmq-spring-boot-parent/pom.xml diff --git a/rocketmq-spring-boot/pom.xml b/rocketmq-spring-boot/pom.xml index d5d5505f..8b0bd7b4 100644 --- a/rocketmq-spring-boot/pom.xml +++ b/rocketmq-spring-boot/pom.xml @@ -22,7 +22,7 @@ org.apache.rocketmq rocketmq-spring-boot-parent - 2.0.5-SNAPSHOT + 2.0.5.EINSITANG ../rocketmq-spring-boot-parent/pom.xml From fb479042385f8e7e82865aef5c08dcb5a84462df Mon Sep 17 00:00:00 2001 From: Element Date: Fri, 20 Dec 2019 17:15:51 +0800 Subject: [PATCH 04/15] optimize on 2.0.5.EINSITANG --- pom.xml | 3 +- .../src/main/resources/application.properties | 2 +- .../ExtProducerResetConfiguration.java | 14 +++-- .../ListenerContainerConfiguration.java | 41 ++++++++----- .../RocketMQTransactionConfiguration.java | 10 +++- .../spring/support/SpringBeanUtil.java | 57 +++++++++++++++++++ 6 files changed, 101 insertions(+), 26 deletions(-) create mode 100644 rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java diff --git a/pom.xml b/pom.xml index e1c1dfb0..57456de8 100644 --- a/pom.xml +++ b/pom.xml @@ -34,7 +34,8 @@ 70yi-nexus-releases Nexus Release Repository - http://14.29.228.199:8081/repository/maven-releases/ + http://mvn.7billion.cn/repository/maven-releases/ + diff --git a/rocketmq-spring-boot-samples/rocketmq-consume-demo/src/main/resources/application.properties b/rocketmq-spring-boot-samples/rocketmq-consume-demo/src/main/resources/application.properties index b2b2690b..96456fbd 100644 --- a/rocketmq-spring-boot-samples/rocketmq-consume-demo/src/main/resources/application.properties +++ b/rocketmq-spring-boot-samples/rocketmq-consume-demo/src/main/resources/application.properties @@ -11,4 +11,4 @@ demo.rocketmq.topic.user=user-topic demo.rocketmq.tag=tagA # another nameserver different global -demo.rocketmq.myNameServer=127.0.0.1:9876 \ No newline at end of file +demo.rocketmq.myNameServer=dev1.host.70yi.ren:9876 \ No newline at end of file diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java index 1c019bbf..38ab7300 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java @@ -20,6 +20,7 @@ import java.lang.reflect.Field; import java.util.Map; import java.util.Objects; + import org.apache.rocketmq.acl.common.AclClientRPCHook; import org.apache.rocketmq.acl.common.SessionCredentials; import org.apache.rocketmq.client.exception.MQClientException; @@ -30,6 +31,7 @@ import org.apache.rocketmq.spring.annotation.ExtRocketMQTemplateConfiguration; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.apache.rocketmq.spring.support.RocketMQMessageConverter; +import org.apache.rocketmq.spring.support.SpringBeanUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.aop.framework.AopProxyUtils; @@ -57,7 +59,7 @@ public class ExtProducerResetConfiguration implements ApplicationContextAware, S private RocketMQMessageConverter rocketMQMessageConverter; public ExtProducerResetConfiguration(RocketMQMessageConverter rocketMQMessageConverter, - StandardEnvironment environment, RocketMQProperties rocketMQProperties) { + StandardEnvironment environment, RocketMQProperties rocketMQProperties) { this.rocketMQMessageConverter = rocketMQMessageConverter; this.environment = environment; this.rocketMQProperties = rocketMQProperties; @@ -65,12 +67,12 @@ public ExtProducerResetConfiguration(RocketMQMessageConverter rocketMQMessageCon @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - this.applicationContext = (ConfigurableApplicationContext)applicationContext; + this.applicationContext = (ConfigurableApplicationContext) applicationContext; } @Override public void afterSingletonsInstantiated() { - Map beans = this.applicationContext.getBeansWithAnnotation(ExtRocketMQTemplateConfiguration.class); + Map beans = SpringBeanUtil.getBeansWithAnnotation(this.applicationContext, ExtRocketMQTemplateConfiguration.class); if (Objects.nonNull(beans)) { beans.forEach(this::registerTemplate); @@ -85,7 +87,7 @@ private void registerTemplate(String beanName, Object bean) { } ExtRocketMQTemplateConfiguration annotation = clazz.getAnnotation(ExtRocketMQTemplateConfiguration.class); - GenericApplicationContext genericApplicationContext = (GenericApplicationContext)applicationContext; + GenericApplicationContext genericApplicationContext = (GenericApplicationContext) applicationContext; validate(annotation, genericApplicationContext); DefaultMQProducer mqProducer = createProducer(annotation); @@ -97,7 +99,7 @@ private void registerTemplate(String beanName, Object bean) { throw new BeanDefinitionValidationException(String.format("Failed to startup MQProducer for RocketMQTemplate {}", beanName), e); } - RocketMQTemplate rocketMQTemplate = (RocketMQTemplate)bean; + RocketMQTemplate rocketMQTemplate = (RocketMQTemplate) bean; rocketMQTemplate.setProducer(mqProducer); rocketMQTemplate.setMessageConverter(rocketMQMessageConverter.getMessageConverter()); log.info("Set real producer to :{} {}", beanName, annotation.value()); @@ -156,7 +158,7 @@ private DefaultMQProducer createProducer(ExtRocketMQTemplateConfiguration annota } private void validate(ExtRocketMQTemplateConfiguration annotation, - GenericApplicationContext genericApplicationContext) { + GenericApplicationContext genericApplicationContext) { if (genericApplicationContext.isBeanNameInUse(annotation.value())) { throw new BeanDefinitionValidationException(String.format("Bean {} has been used in Spring Application Context, " + "please check the @ExtRocketMQTemplateConfiguration", diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java index ecde73bb..75351f60 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java @@ -17,10 +17,6 @@ package org.apache.rocketmq.spring.autoconfigure; -import java.util.Collections; -import java.util.Map; -import java.util.Objects; -import java.util.concurrent.atomic.AtomicLong; import org.apache.rocketmq.client.AccessChannel; import org.apache.rocketmq.spring.annotation.ConsumeMode; import org.apache.rocketmq.spring.annotation.MessageModel; @@ -28,6 +24,7 @@ import org.apache.rocketmq.spring.core.RocketMQListener; import org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer; import org.apache.rocketmq.spring.support.RocketMQMessageConverter; +import org.apache.rocketmq.spring.support.SpringBeanUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.aop.framework.AopProxyUtils; @@ -42,6 +39,11 @@ import org.springframework.core.env.StandardEnvironment; import org.springframework.util.StringUtils; +import java.util.Collections; +import java.util.Map; +import java.util.Objects; +import java.util.concurrent.atomic.AtomicLong; + @Configuration public class ListenerContainerConfiguration implements ApplicationContextAware, SmartInitializingSingleton { private final static Logger log = LoggerFactory.getLogger(ListenerContainerConfiguration.class); @@ -57,7 +59,7 @@ public class ListenerContainerConfiguration implements ApplicationContextAware, private RocketMQMessageConverter rocketMQMessageConverter; public ListenerContainerConfiguration(RocketMQMessageConverter rocketMQMessageConverter, - StandardEnvironment environment, RocketMQProperties rocketMQProperties) { + StandardEnvironment environment, RocketMQProperties rocketMQProperties) { this.rocketMQMessageConverter = rocketMQMessageConverter; this.environment = environment; this.rocketMQProperties = rocketMQProperties; @@ -65,12 +67,13 @@ public ListenerContainerConfiguration(RocketMQMessageConverter rocketMQMessageCo @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - this.applicationContext = (ConfigurableApplicationContext)applicationContext; + this.applicationContext = (ConfigurableApplicationContext) applicationContext; } @Override public void afterSingletonsInstantiated() { - Map beans = this.applicationContext.getBeansWithAnnotation(RocketMQMessageListener.class); + Map beans = SpringBeanUtil.getBeansWithAnnotation(this.applicationContext, RocketMQMessageListener. + class); if (Objects.nonNull(beans)) { beans.forEach(this::registerContainer); @@ -90,7 +93,7 @@ private void registerContainer(String beanName, Object bean) { String topic = this.environment.resolvePlaceholders(annotation.topic()); boolean listenerEnabled = - (boolean)rocketMQProperties.getConsumer().getListeners().getOrDefault(consumerGroup, Collections.EMPTY_MAP) + (boolean) rocketMQProperties.getConsumer().getListeners().getOrDefault(consumerGroup, Collections.EMPTY_MAP) .getOrDefault(topic, true); if (!listenerEnabled) { @@ -103,7 +106,7 @@ private void registerContainer(String beanName, Object bean) { String containerBeanName = String.format("%s_%s", DefaultRocketMQListenerContainer.class.getName(), counter.incrementAndGet()); - GenericApplicationContext genericApplicationContext = (GenericApplicationContext)applicationContext; + GenericApplicationContext genericApplicationContext = (GenericApplicationContext) applicationContext; genericApplicationContext.registerBean(containerBeanName, DefaultRocketMQListenerContainer.class, () -> createRocketMQListenerContainer(containerBeanName, bean, annotation)); @@ -122,11 +125,11 @@ private void registerContainer(String beanName, Object bean) { } private DefaultRocketMQListenerContainer createRocketMQListenerContainer(String name, Object bean, - RocketMQMessageListener annotation) { + RocketMQMessageListener annotation) { DefaultRocketMQListenerContainer container = new DefaultRocketMQListenerContainer(); - + container.setRocketMQMessageListener(annotation); - + String nameServer = environment.resolvePlaceholders(annotation.nameServer()); nameServer = StringUtils.isEmpty(nameServer) ? rocketMQProperties.getNameServer() : nameServer; String accessChannel = environment.resolvePlaceholders(annotation.accessChannel()); @@ -140,10 +143,18 @@ private DefaultRocketMQListenerContainer createRocketMQListenerContainer(String container.setSelectorExpression(tags); } container.setConsumerGroup(environment.resolvePlaceholders(annotation.consumerGroup())); - container.setRocketMQListener((RocketMQListener)bean); + container.setRocketMQListener((RocketMQListener) bean); container.setMessageConverter(rocketMQMessageConverter.getMessageConverter()); - container.setName(rocketMQProperties.getClientInstanceName().concat("_").concat(name)); -// container.setName(name); // REVIEW ME, use the same clientId or multiple? + + /** + * REVIEW ME, use the same clientId or multiple? + * + * - this setting method is no work because on rocketmq-client( >= 4.6.0 ) will reset instanceName to pid + * - @see {org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#start} + * - @see {org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl#start} + * - @EinsiTang my-tangjianbin@163.com + */ + container.setName(name); return container; } 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 1a897e51..2daefcfc 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 @@ -22,11 +22,13 @@ import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; + import org.apache.rocketmq.client.producer.TransactionMQProducer; import org.apache.rocketmq.spring.annotation.RocketMQTransactionListener; import org.apache.rocketmq.spring.core.RocketMQLocalTransactionListener; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.apache.rocketmq.spring.support.RocketMQUtil; +import org.apache.rocketmq.spring.support.SpringBeanUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.aop.framework.AopProxyUtils; @@ -44,12 +46,14 @@ public class RocketMQTransactionConfiguration implements ApplicationContextAware private ConfigurableApplicationContext applicationContext; - @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = (ConfigurableApplicationContext) applicationContext; } - @Override public void afterSingletonsInstantiated() { - Map beans = this.applicationContext.getBeansWithAnnotation(RocketMQTransactionListener.class); + @Override + public void afterSingletonsInstantiated() { + Map beans = SpringBeanUtil.getBeansWithAnnotation(this.applicationContext, RocketMQTransactionListener.class); if (Objects.nonNull(beans)) { beans.forEach(this::registerTransactionListener); diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java new file mode 100644 index 00000000..15b877a0 --- /dev/null +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java @@ -0,0 +1,57 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.rocketmq.spring.support; + +import org.springframework.aop.scope.ScopedProxyUtils; +import org.springframework.context.ConfigurableApplicationContext; +import org.springframework.lang.NonNull; + +import java.lang.annotation.Annotation; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +/** + * override applicationContext.getBeansWithAnnotation method to make sure without same ProxyTarget bean + * + * author element + */ +public class SpringBeanUtil { + + /** + * get beans with annotation + * + * @param applicationContext spring Application Context + * @param clazz annotation class + * @return beans map without proxyTarget bean + */ + public static Map getBeansWithAnnotation(@NonNull ConfigurableApplicationContext applicationContext, Class clazz) { + Map beans = applicationContext.getBeansWithAnnotation(clazz); + Map filterBeas = new HashMap<>(beans.size()); + // remove proxy target + Set> entrySet = beans.entrySet(); + entrySet.forEach((entry) -> { + final String beanName = entry.getKey(); + if (!ScopedProxyUtils.isScopedTarget(beanName)) { + filterBeas.put(beanName, entry.getValue()); + } + }); + return filterBeas; + } + +} From 242cdab812c5f02dc8575561e5b26b61605deafc Mon Sep 17 00:00:00 2001 From: Element Date: Fri, 20 Dec 2019 18:54:16 +0800 Subject: [PATCH 05/15] revert pom version --- pom.xml | 16 +--------------- rocketmq-spring-boot-parent/pom.xml | 4 ++-- rocketmq-spring-boot-starter/pom.xml | 2 +- rocketmq-spring-boot/pom.xml | 2 +- 4 files changed, 5 insertions(+), 19 deletions(-) diff --git a/pom.xml b/pom.xml index 57456de8..f8acf1d0 100644 --- a/pom.xml +++ b/pom.xml @@ -27,23 +27,9 @@ org.apache.rocketmq rocketmq-spring-all - 2.0.5.EINSITANG + 2.0.5-SNAPSHOT pom - - - 70yi-nexus-releases - Nexus Release Repository - http://mvn.7billion.cn/repository/maven-releases/ - - - - - - - - - Apache RocketMQ Spring Boot ${project.version} Build for Apache RocketMQ Spring Boot Support https://github.com/apache/rocketmq-spring diff --git a/rocketmq-spring-boot-parent/pom.xml b/rocketmq-spring-boot-parent/pom.xml index c66a7809..ca490b01 100644 --- a/rocketmq-spring-boot-parent/pom.xml +++ b/rocketmq-spring-boot-parent/pom.xml @@ -22,7 +22,7 @@ org.apache.rocketmq rocketmq-spring-all - 2.0.5.EINSITANG + 2.0.5-SNAPSHOT ../pom.xml @@ -38,7 +38,7 @@ 2.0.5.RELEASE 5.1.0.RELEASE - 2.0.5.EINSITANG + 2.0.5-SNAPSHOT 4.6.0 1.7.25 diff --git a/rocketmq-spring-boot-starter/pom.xml b/rocketmq-spring-boot-starter/pom.xml index d2ed66f3..697ab169 100644 --- a/rocketmq-spring-boot-starter/pom.xml +++ b/rocketmq-spring-boot-starter/pom.xml @@ -22,7 +22,7 @@ org.apache.rocketmq rocketmq-spring-boot-parent - 2.0.5.EINSITANG + 2.0.5-SNAPSHOT ../rocketmq-spring-boot-parent/pom.xml diff --git a/rocketmq-spring-boot/pom.xml b/rocketmq-spring-boot/pom.xml index 8b0bd7b4..d5d5505f 100644 --- a/rocketmq-spring-boot/pom.xml +++ b/rocketmq-spring-boot/pom.xml @@ -22,7 +22,7 @@ org.apache.rocketmq rocketmq-spring-boot-parent - 2.0.5.EINSITANG + 2.0.5-SNAPSHOT ../rocketmq-spring-boot-parent/pom.xml From b0917c27e6307e683523feedc84a902ba9e8125f Mon Sep 17 00:00:00 2001 From: Element Date: Fri, 20 Dec 2019 19:09:46 +0800 Subject: [PATCH 06/15] change note --- .../spring/autoconfigure/ListenerContainerConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java index 75351f60..ffb096ac 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java @@ -149,7 +149,7 @@ private DefaultRocketMQListenerContainer createRocketMQListenerContainer(String /** * REVIEW ME, use the same clientId or multiple? * - * - this setting method is no work because on rocketmq-client( >= 4.6.0 ) will reset instanceName to pid + * - this setting method is not work because on rocketmq-client( >= 4.6.0 ) will reset instanceName to pid * - @see {org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#start} * - @see {org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl#start} * - @EinsiTang my-tangjianbin@163.com From 06dd62c72ff1d41396acb3954c7d746b9ae86602 Mon Sep 17 00:00:00 2001 From: Element Date: Fri, 20 Dec 2019 19:10:10 +0800 Subject: [PATCH 07/15] change note --- .../spring/autoconfigure/ListenerContainerConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java index 75351f60..ffb096ac 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java @@ -149,7 +149,7 @@ private DefaultRocketMQListenerContainer createRocketMQListenerContainer(String /** * REVIEW ME, use the same clientId or multiple? * - * - this setting method is no work because on rocketmq-client( >= 4.6.0 ) will reset instanceName to pid + * - this setting method is not work because on rocketmq-client( >= 4.6.0 ) will reset instanceName to pid * - @see {org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#start} * - @see {org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl#start} * - @EinsiTang my-tangjianbin@163.com From 1a0856163fa1b6c604d4ae3c90e6a5c3a556c789 Mon Sep 17 00:00:00 2001 From: Element Date: Mon, 23 Dec 2019 16:12:39 +0800 Subject: [PATCH 08/15] revert demo.rocketmq.myNameServer --- .../src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocketmq-spring-boot-samples/rocketmq-consume-demo/src/main/resources/application.properties b/rocketmq-spring-boot-samples/rocketmq-consume-demo/src/main/resources/application.properties index 96456fbd..b2b2690b 100644 --- a/rocketmq-spring-boot-samples/rocketmq-consume-demo/src/main/resources/application.properties +++ b/rocketmq-spring-boot-samples/rocketmq-consume-demo/src/main/resources/application.properties @@ -11,4 +11,4 @@ demo.rocketmq.topic.user=user-topic demo.rocketmq.tag=tagA # another nameserver different global -demo.rocketmq.myNameServer=dev1.host.70yi.ren:9876 \ No newline at end of file +demo.rocketmq.myNameServer=127.0.0.1:9876 \ No newline at end of file From b916aac14071be86ddca22f7f8eb48248dd41d16 Mon Sep 17 00:00:00 2001 From: Element Date: Mon, 23 Dec 2019 16:29:29 +0800 Subject: [PATCH 09/15] remove clientInstaceName --- .../spring/autoconfigure/RocketMQProperties.java | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java index 561456d5..fcd82eea 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java @@ -38,8 +38,6 @@ public class RocketMQProperties { */ private String accessChannel; - private String clientInstanceName = defaultClientInstanceName(); - private Producer producer; /** @@ -76,14 +74,6 @@ public void setProducer(RocketMQProperties.Producer producer) { this.producer = producer; } - public String getClientInstanceName() { - return clientInstanceName; - } - - public void setClientInstanceName(String clientInstanceName) { - this.clientInstanceName = clientInstanceName; - } - private String defaultClientInstanceName() { String defaultName = null; try { From 59507f62a095e7ef2955edf420f78384a80a169f Mon Sep 17 00:00:00 2001 From: Element Date: Mon, 23 Dec 2019 16:35:55 +0800 Subject: [PATCH 10/15] remove unuse method --- .../spring/autoconfigure/RocketMQProperties.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java index fcd82eea..06a20af4 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java @@ -74,17 +74,6 @@ public void setProducer(RocketMQProperties.Producer producer) { this.producer = producer; } - private String defaultClientInstanceName() { - String defaultName = null; - try { - defaultName = InetAddress.getLocalHost().getHostName(); - } catch (Exception e) { - defaultName = "INSTANCE"; - } - - return defaultName; - } - public static class Producer { /** From 129a336729fcb2231656b4380e97a9fde2795eb1 Mon Sep 17 00:00:00 2001 From: Element Date: Mon, 23 Dec 2019 16:47:43 +0800 Subject: [PATCH 11/15] pass ci-check --- .../rocketmq/spring/autoconfigure/RocketMQAutoConfiguration.java | 1 - .../apache/rocketmq/spring/autoconfigure/RocketMQProperties.java | 1 - 2 files changed, 2 deletions(-) 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 23f24edb..14f7160c 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 @@ -119,7 +119,6 @@ public DefaultMQProducer defaultMQProducer(RocketMQProperties rocketMQProperties producer.setMaxMessageSize(producerConfig.getMaxMessageSize()); producer.setCompressMsgBodyOverHowmuch(producerConfig.getCompressMessageBodyThreshold()); producer.setRetryAnotherBrokerWhenNotStoreOK(producerConfig.isRetryNextServer()); - producer.setInstanceName(rocketMQProperties.getClientInstanceName()); return producer; } diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java index 06a20af4..832d0219 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/RocketMQProperties.java @@ -20,7 +20,6 @@ import org.apache.rocketmq.common.MixAll; import org.springframework.boot.context.properties.ConfigurationProperties; -import java.net.InetAddress; import java.util.HashMap; import java.util.Map; From bae76cf1e33b9a8bb129760f29c1cdbfb52403b9 Mon Sep 17 00:00:00 2001 From: Element Date: Mon, 23 Dec 2019 16:55:18 +0800 Subject: [PATCH 12/15] remove pass annotation --- .../autoconfigure/ListenerContainerConfiguration.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java index ffb096ac..f235573e 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ListenerContainerConfiguration.java @@ -145,15 +145,6 @@ private DefaultRocketMQListenerContainer createRocketMQListenerContainer(String container.setConsumerGroup(environment.resolvePlaceholders(annotation.consumerGroup())); container.setRocketMQListener((RocketMQListener) bean); container.setMessageConverter(rocketMQMessageConverter.getMessageConverter()); - - /** - * REVIEW ME, use the same clientId or multiple? - * - * - this setting method is not work because on rocketmq-client( >= 4.6.0 ) will reset instanceName to pid - * - @see {org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#start} - * - @see {org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl#start} - * - @EinsiTang my-tangjianbin@163.com - */ container.setName(name); return container; From c65fbbe83a013b0a0491b8422061531393e8a83e Mon Sep 17 00:00:00 2001 From: Element Date: Mon, 23 Dec 2019 17:28:20 +0800 Subject: [PATCH 13/15] correct variable word --- .../org/apache/rocketmq/spring/support/SpringBeanUtil.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java index 15b877a0..7256a28a 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java @@ -42,16 +42,16 @@ public class SpringBeanUtil { */ public static Map getBeansWithAnnotation(@NonNull ConfigurableApplicationContext applicationContext, Class clazz) { Map beans = applicationContext.getBeansWithAnnotation(clazz); - Map filterBeas = new HashMap<>(beans.size()); + Map filterBeans = new HashMap<>(beans.size()); // remove proxy target Set> entrySet = beans.entrySet(); entrySet.forEach((entry) -> { final String beanName = entry.getKey(); if (!ScopedProxyUtils.isScopedTarget(beanName)) { - filterBeas.put(beanName, entry.getValue()); + filterBeans.put(beanName, entry.getValue()); } }); - return filterBeas; + return filterBeans; } } From f9b45ab8e6d43af9cf18e43924ae3f7243fa38c2 Mon Sep 17 00:00:00 2001 From: Element Date: Mon, 23 Dec 2019 17:52:45 +0800 Subject: [PATCH 14/15] optimize annotation --- .../org/apache/rocketmq/spring/support/SpringBeanUtil.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java index 7256a28a..b5d11615 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java @@ -26,15 +26,10 @@ import java.util.Map; import java.util.Set; -/** - * override applicationContext.getBeansWithAnnotation method to make sure without same ProxyTarget bean - * - * author element - */ public class SpringBeanUtil { /** - * get beans with annotation + * Override applicationContext.getBeansWithAnnotation method to make sure without same ProxyTarget beans * * @param applicationContext spring Application Context * @param clazz annotation class From 5972cbf982f792cef2c8215b1078fca02e0d35f9 Mon Sep 17 00:00:00 2001 From: Element Date: Mon, 30 Dec 2019 15:41:38 +0800 Subject: [PATCH 15/15] merge --- .../spring/autoconfigure/ExtProducerResetConfiguration.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java index afd8211f..198f8441 100644 --- a/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java +++ b/rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/autoconfigure/ExtProducerResetConfiguration.java @@ -19,16 +19,13 @@ import java.util.Map; import java.util.Objects; - -import org.apache.rocketmq.acl.common.AclClientRPCHook; -import org.apache.rocketmq.acl.common.SessionCredentials; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.spring.annotation.ExtRocketMQTemplateConfiguration; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.apache.rocketmq.spring.support.RocketMQMessageConverter; -import org.apache.rocketmq.spring.support.SpringBeanUtil; import org.apache.rocketmq.spring.support.RocketMQUtil; +import org.apache.rocketmq.spring.support.SpringBeanUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.aop.framework.AopProxyUtils;