spring-boot - 为 Spring Kafka 设置 authorizationExceptionRetryInterval
问题描述
任何人都知道如何设置新属性:authorizationExceptionRetryInterval,而无需手动创建 ConcurrentKafkaListenerContainerFactory。
解决方案
我本来想说...
@Component
class ContainerFactoryCustomizer {
ContainerFactoryCustomizer(AbstractKafkaListenerContainerFactory<?, ?, ?> factory) {
factory.setContainerCustomizer(
container -> container.getContainerProperties()
.setAuthorizationExceptionRetryInterval(Duration.ofSeconds(10L)));
}
}
但这不起作用,由于错误(未设置容器定制器)。
这是一个解决方法:
@SpringBootApplication
public class So60054097Application {
public static void main(String[] args) {
SpringApplication.run(So60054097Application.class, args);
}
@KafkaListener(id = "so60054097", topics = "so60054097", autoStartup = "false")
public void listen(String in) {
System.out.println(in);
}
@Bean
public NewTopic topic() {
return TopicBuilder.name("so60054097").partitions(1).replicas(1).build();
}
@Bean
public ApplicationRunner runner(KafkaListenerEndpointRegistry registry) {
return args -> {
MessageListenerContainer container = registry.getListenerContainer("so60054097");
container.getContainerProperties()
.setAuthorizationExceptionRetryInterval(Duration.ofSeconds(10L));
container.start();
};
}
}
(设置autoStartup
为 false;修复属性并启动容器)。
推荐阅读
- testing - 移动测试自动化的最佳工具
- javascript - 如何在chart.js 3中的条形图和折线图顶部显示数据值
- html - 根据提交的 HTML 选项重定向到特定 URL
- xamarin.forms - 创建 xamarin 跨平台移动应用程序(android、ios 和 windows)的步骤
- elasticsearch - ElasticSearch Indicies 的数量是否有限制?
- python - 如何推断 Python 构造中数据结构字段的值?
- javascript - 类型 'A | 上不存在属性 'prop' 乙'
- c++ - 本地主机的 IWebViewControl
- maven - 无法在项目自动化上执行目标 org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test (default-test):有测试失败
- caching - 无法从用户缓存 Google Apps 脚本中检索对象