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]