You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2019/12/20 11:05:15 UTC

[GitHub] [rocketmq-spring] forfuns opened a new pull request #210: fixed spring scopeTarget will repeat consumer instance

forfuns opened a new pull request #210: fixed spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210
 
 
   ## What is the purpose of the change
   
   change consumer listener use SpringContext getBeansWithAnnotation will get same bean with scopeTarget ,cause repeat consumer client with same clientId(IP@PID on rocketmq-client 4.6.0)
   
   ## Brief changelog
   
   fix scopeTarget bean instance same clientId 
   
   ## Verifying this change
   
   use @RefreshScope on RocketMQListener , will registration is the same clientId on RocketMQ-Console consumer client (same IP@PID),will thorws error (log : `has been created before, specify another name please.`) , but only on rocketmq-client version >= 4.6.0
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] forfuns commented on issue #210: fixed spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
forfuns commented on issue #210: fixed spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-569604952
 
 
   issue : #218 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] RongtongJin merged pull request #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
RongtongJin merged pull request #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210
 
 
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] vongosling edited a comment on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
vongosling edited a comment on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-574647774
 
 
   @snicoll Could you help to review this pr:-) refresh could result in the two instances of the **Container created. But I feel spring has provided a similar elegant method like "SpringBeanUtil" here, we do not want to create an extra class to deal with this problem.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] snicoll commented on a change in pull request #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
snicoll commented on a change in pull request #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#discussion_r367326905
 
 

 ##########
 File path: rocketmq-spring-boot/src/main/java/org/apache/rocketmq/spring/support/SpringBeanUtil.java
 ##########
 @@ -0,0 +1,52 @@
+/*
+ * 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;
+
+public class SpringBeanUtil {
+
+    /**
+     * Override applicationContext.getBeansWithAnnotation method to make sure without same ProxyTarget beans
+     *
+     * @param applicationContext spring Application Context
+     * @param clazz              annotation class
+     * @return beans map without proxyTarget bean
+     */
+    public static Map<String, Object> getBeansWithAnnotation(@NonNull ConfigurableApplicationContext applicationContext, Class<? extends Annotation> clazz) {
 
 Review comment:
   I'd rather move the check in the code that's calling it. This also prevents the creation of a util class

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] forfuns commented on issue #210: fixed spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
forfuns commented on issue #210: fixed spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-569200884
 
 
   @RongtongJin sorry busy for work , open issue late :-)

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] RongtongJin commented on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
RongtongJin commented on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-583980388
 
 
   I will merge the PR first, then modify the code according to @snicoll .

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] vongosling commented on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
vongosling commented on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-574998826
 
 
   @snicoll Thank you in advance, we hope this feature can be released in version 2.1.0 in the latest week, I really appreciate your time:-) 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] forfuns commented on issue #210: fixed spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
forfuns commented on issue #210: fixed spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-569606413
 
 
   resolve conflict with latest master

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] RongtongJin commented on issue #210: fixed spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
RongtongJin commented on issue #210: fixed spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-569200543
 
 
   Could you open a issue first?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] snicoll commented on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
snicoll commented on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-574648868
 
 
   Can do when time permits. I'd appreciate an answer here: https://github.com/apache/rocketmq-spring/pull/171#issuecomment-568854655

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] vongosling commented on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
vongosling commented on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-574647774
 
 
   @snicoll Could you have to review this pr. refresh could result in the two instances of the **Container created. But I feel spring has provided a similar elegant method like "SpringBeanUtil" here. which is created by ourselves.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] vongosling edited a comment on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
vongosling edited a comment on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-574647774
 
 
   @snicoll Could you help to review this pr:-) refresh could result in the two instances of the **Container created. But I feel spring has provided a similar elegant method like "SpringBeanUtil" here. which is created by ourselves.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] RongtongJin commented on a change in pull request #210: fixed spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
RongtongJin commented on a change in pull request #210: fixed spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#discussion_r360758707
 
 

 ##########
 File path: 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
 
 Review comment:
   Please change back to 127.0.0.1

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] vongosling edited a comment on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
vongosling edited a comment on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-574647774
 
 
   @snicoll Could you help to review this pr:-) refresh could result in the two instances of the **Container created. But I feel spring has provided a similar elegant method like "SpringBeanUtil" here, we do not want to create an extra class.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [rocketmq-spring] RongtongJin commented on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance

Posted by GitBox <gi...@apache.org>.
RongtongJin commented on issue #210: [ISSUE #218] Fix spring scopeTarget will repeat consumer instance
URL: https://github.com/apache/rocketmq-spring/pull/210#issuecomment-583980360
 
 
   I will merge the PR first, then modify the code according to @snicoll .

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services