texousliu opened a new issue, #583:
URL: https://github.com/apache/rocketmq-spring/issues/583

   **FEATURE REQUEST**
   
   1. 使用starter的时候需要自定义全局拦截器在 listener onMessage 之前处理 MessageExt
   2. Provide any additional detail on your proposed use case for this feature.
   3. 添加message处理器
   ```java
   package org.apache.rocketmq.spring.support;
   
   import org.apache.rocketmq.common.message.MessageExt;
   
   /**
    * listener message customizer
    *
    * @author texousliu
    * @since 2023-08-18
    */
   public interface RocketMQListenerMessageCustomizer {
   
       void customize(final MessageExt messageExt);
   
   }
   ```
   4. ListenerContainerConfiguration 注入自定义处理器
   ```java
       private List<RocketMQListenerMessageCustomizer> 
rocketMQListenerMessageCustomizers;
   
       public ListenerContainerConfiguration(RocketMQMessageConverter 
rocketMQMessageConverter,
                                             ConfigurableEnvironment 
environment, RocketMQProperties rocketMQProperties,
                                             @Autowired(required = false) 
List<RocketMQListenerMessageCustomizer> rocketMQListenerMessageCustomizers) {
           this.rocketMQMessageConverter = rocketMQMessageConverter;
           this.environment = environment;
           this.rocketMQProperties = rocketMQProperties;
           this.rocketMQListenerMessageCustomizers = 
rocketMQListenerMessageCustomizers;
       }
   ```
   5. DefaultRocketMQListenerContainer 添加
   ```java
    private List<RocketMQListenerMessageCustomizer> 
rocketMQListenerMessageCustomizers;
       public List<RocketMQListenerMessageCustomizer> 
getRocketMQListenerMessageCustomizers() {
           return rocketMQListenerMessageCustomizers;
       }
   
       public void 
setRocketMQListenerMessageCustomizers(List<RocketMQListenerMessageCustomizer> 
rocketMQListenerMessageCustomizers) {
           this.rocketMQListenerMessageCustomizers = 
rocketMQListenerMessageCustomizers;
       }
   ```
   6. ListenerContainerConfiguration 配置 DefaultRocketMQListenerContainer
   ```java
   
container.setRocketMQListenerMessageCustomizers(rocketMQListenerMessageCustomizers);
   ```
   
   4. Indicate the importance of this issue to you (blocker, must-have, 
should-have, nice-to-have). Are you currently using any workarounds to address 
this issue?
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to