- environment.jersey().register(new RuleMgtResources());
- try {
- new MSBRegisterUtil().register2Msb(createMicroServiceInfo());
- } catch (CorrelationException e) {
- log.warn(e.getMessage(), e);
- }
-
- if (!"1".equals(System.getenv("TESTING"))) {
- ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
- service.scheduleAtFixedRate(
- new DcaeConfigurationPolling(MicroServiceConfig.getEnv(MicroServiceConfig.HOSTNAME)), 0,
- DcaeConfigurationPolling.POLLING_PERIOD, TimeUnit.MILLISECONDS);
- }
-
- environment.servlets().addFilter("customFilter", new TransactionIdFilter()).addMappingForUrlPatterns(EnumSet
- .allOf(DispatcherType.class), true, "/*");
-
- new MsbQuery().startTimer();
- }
-
- private MicroServiceInfo createMicroServiceInfo() {
- String[] serviceAddrInfo = MicroServiceConfig.getMicroServiceIpAndPort();
- MicroServiceInfo msinfo = new MicroServiceInfo();
- msinfo.setServiceName("holmes-rule-mgmt");
- msinfo.setVersion("v1");
- msinfo.setUrl("/api/holmes-rule-mgmt/v1");
- msinfo.setProtocol("REST");
- msinfo.setVisualRange("0|1");
- msinfo.setEnable_ssl(true);
- Set<Node> nodes = new HashSet<>();
- Node node = new Node();
- node.setIp(serviceAddrInfo[0]);
- node.setPort(serviceAddrInfo[1]);
- node.setCheckType("HTTP");
- node.setCheckUrl(String.format("https://%s:%s/api/holmes-rule-mgmt/v1/healthcheck", serviceAddrInfo[0], "9101"));
- node.setCheckTimeOut("60s");
- node.setCheckInterval("60s");
- nodes.add(node);
- msinfo.setNodes(nodes);
- return msinfo;