代码拉取完成,页面将自动刷新
同步操作将从 open-hand/choerodon-starters 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
添加依赖
<dependency>
<groupId>io.choerodon</groupId>
<artifactId>choerodon-starter-eureka-event</artifactId>
<version>${choerodon.starters.version}</version>
</dependency>
运行主类执行初始化
@SpringBootApplication
@EnableEurekaClient
public class AsgardApplication {
public static void main(String[] args) {
//此处执行初始化
EurekaEventHandler.getInstance().init();
SpringApplication.run(AsgardApplication.class, args);
}
}
继承AbstractEurekaEventObserver并确保该类被spring扫描到
@Component
public class EurekaEventObserver extends AbstractEurekaEventObserver {
@Override
public void receiveUpEvent(EurekaEventPayload payload) {
//接收服务启动事件后的处理逻辑
}
@Override
public void receiveDownEvent(EurekaEventPayload payload) {
//接收服务下线事件后的处理逻辑
}
}
配置
choerodon:
eureka:
event:
max-cache-size: 300 # 存储的最大失败数量
retry-time: 5 # 自动重试次数
retry-interval: 3 # 自动重试间隔(秒)
skip-services: register-server, api-gateway, gateway-helper, oauth-server, config-server, event-store-service # 跳过的服务
内置查询消费失败接口和手动重试接口
@RestController
@RequestMapping(value = "/v1/eureka/events")
public class EurekaEventEndpoint {
private EurekaEventService eurekaEventService;
public EurekaEventEndpoint(EurekaEventService eurekaEventService) {
this.eurekaEventService = eurekaEventService;
}
@Permission(permissionLogin = true)
@ApiOperation(value = "获取未消费的事件列表")
@GetMapping
public List<EurekaEventPayload> list(@RequestParam(value = "service", required = false) String service) {
return eurekaEventService.unfinishedEvents(service);
}
@Permission(permissionLogin = true)
@ApiOperation(value = "手动重试未消费成功的事件")
@PostMapping("retry")
public List<EurekaEventPayload> retry(@RequestParam(value = "id", required = false) String id,
@RequestParam(value = "service", required = false) String service) {
return eurekaEventService.retryEvents(id, service);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。