gpt4 book ai didi

java - 当我使用 @EnableMBeanExport 时,如何通过 Spring JMX 集成设置通知监听器映射

转载 作者:行者123 更新时间:2023-12-02 09:58:13 24 4
gpt4 key购买 nike

作为 Spring 引用 https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#jmx-notifications-listeners说,我需要通过调用 MBeanExporter.setNotificationListenerMappings 设置监听器映射声明通知监听器之后的方法。

当使用基于XML的配置或@Bean注解配置来声明时 一个MBeanExporter明确地,setNotificationListenerMappings操作很容易完成。如下代码所示:

@Bean
public AnnotationMBeanExporter mBeanExporter() {
Map<String, JmxNotificationListener> mappings = new HashMap<>();
mappings.put("com.foo.spring-jmx-test:name=JmxService", new JmxNotificationListener());

AnnotationMBeanExporter exporter = new AnnotationMBeanExporter();
exporter.setRegistrationPolicy(RegistrationPolicy.IGNORE_EXISTING);
exporter.setNotificationListenerMappings(mappings);
return exporter;
}

但是当使用@EnableMBeanExport时,它会自动定义一个AnnotationMBeanExporter ,我找不到将监听器映射设置为 MBeanExporter 的方法。那么,当我使用 @EnableMBeanExport 时,有没有办法设置通知监听器映射? ?

谢谢。

最佳答案

@EnableMBeanExport 在应用程序上下文中注册一个 AnnotationMBeanExporter bean,因此您可以将其注入(inject)到某些配置中并执行此类映射注册:

@Autowired
AnnotationMBeanExporter exporter;

@PostConstruct
public void init() {
this.exporter.setNotificationListenerMappings(...);
}

关于java - 当我使用 @EnableMBeanExport 时,如何通过 Spring JMX 集成设置通知监听器映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55831000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com