1 Star 0 Fork 21

FundyLiu / choerodon-starters

forked from open-hand / choerodon-starters 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.33 KB
一键复制 编辑 原始数据 按行查看 历史
myelin 提交于 2018-11-06 15:43 . [ADD] 添加了eureka-event的README

使用

添加依赖

<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);
    }

}
Java
1
https://gitee.com/pgsql/choerodon-starters.git
git@gitee.com:pgsql/choerodon-starters.git
pgsql
choerodon-starters
choerodon-starters
master

搜索帮助