问题描述
我有一个任务要使用执行器(准备就绪)和Halfopen处理程序检查运行状况。目前,我在HalfOpenHandlerConfig中使用以下数据库(数据源)运行状况检查:
@Bean
public ThrottlingExceptionHalfOpenHandler studyRouteHalfOpenHandler() {
return new StudyRouteHalfOpenHandler(new DataSourceHealthindicator(dataSource));
}
我同时拥有消费者和生产者,它们引用了不同的队列。我只想检查生产者的健康状况,所以当生产者遇到问题时,代码会打开通往生产者的路线,依此类推。
我是否仅使用JmsHealthindicator添加另一个bean?我不确定如何区分正在检查的队列(消费者或生产者)运行状况。这是我的代码:
RouteHalfOpenHandler:
@Loggable(Loggable.DEBUG)
public class StudyRouteHalfOpenHandler implements ThrottlingExceptionHalfOpenHandler {
private final Healthindicator healthindicator;
public StudyRouteHalfOpenHandler(final Healthindicator healthindicator) {
this.healthindicator = healthindicator;
}
@Override
public boolean isReadyToBeClosed() {
return healthindicator.health().getStatus().equals(Status.UP);
}
}
RouteHalfOpenHandlerConfig:
@Configuration
@Import(DataSourceConfig.class)
public class StudyRouteHalfOpenHandlerConfig {
@Autowired
private DataSource dataSource;
@Bean
public ThrottlingExceptionHalfOpenHandler studyRouteHalfOpenHandler() {
return new StudyRouteHalfOpenHandler(new DataSourceHealthindicator(dataSource));
}
}
我不确定是否需要发布我的StudyGateway课程。我修改了一些属性名称,因此请忽略它们。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)