在春季论坛中,使用XML配置时也提出了类似的问题:
http://forum.spring.io/forum/spring-projects/integration/723982-i-cant-figure-out-how-to-expose-task-executor-vai-jmx?p=724001#post724001
我想避免使用XML。我正在使用Spring Boot 1.1.4,并包括了spring-boot-actuator。我的应用程序类如下所示:
@Configuration
@EnableAutoConfiguration
@ComponentScan
@EnableConfigurationProperties
public class Application {
// ...
// this method is never called
@Bean
protected MBeanExporter mbeanExporter() {
MBeanExporter exporter = new MBeanExporter();
Map<String,Object> beans = new HashMap<>();
beans.put("org.springframework.boot:type=executor,name=taskExecutor", taskExecutor());
exporter.setBeans(beans);
return exporter;
}
@Bean
protected AsyncTaskExecutor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(5);
executor.setMaxPoolSize(200);
return executor;
}
}
最佳答案
可能还有另一个名为“ mbeanExporter”的bean覆盖了您的bean。我认为这个惯用法虽然是错误的,但-您可能需要的是MBeanInfoAssembler
(即使您必须将其插入具有不同bean名称的MBeanExporter
中)。