|
该版本仍在开发中,尚未被视为稳定。对于最新稳定版本,请使用 Spring for Apache Kafka 4.0.0! |
@KafkaListener属性修改
从2.7.2版本开始,你现在可以在容器创建前通过程序修改注释属性。
为此,添加一个或多个KafkaListenerAnnotationBeanPostProcessor.AnnotationEnhancer切换到应用上下文。注释增强器是双功能<Map<String,Object>,AnnotatedElement,Map <String,Object>并且必须返回属性映射。
属性值可以包含 SpEL 和/或属性占位符;增强器在执行任何解析前就被调用。
如果有多个增强剂存在,并且他们实现了命令,它们将按顺序被调用。
注释增强器必须声明豆子的定义静态的因为它们在应用上下文生命周期的早期就被要求。 |
举个例子:
@Bean
public static AnnotationEnhancer groupIdEnhancer() {
return (attrs, element) -> {
attrs.put("groupId", attrs.get("id") + "." + (element instanceof Class
? ((Class<?>) element).getSimpleName()
: ((Method) element).getDeclaringClass().getSimpleName()
+ "." + ((Method) element).getName()));
return attrs;
};
}