X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=engine-d%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Fengine%2FEngineDActiveApp.java;h=a0f46ce8fa4e3f9eba90079fcd592d9a7519d203;hb=2504d624b6c65ee919db506f870ee17b31e51f90;hp=ef671e3576ad0cff770abf78911c4a273b6842d6;hpb=7ab5d3b5150f3941f61f40bc27c94909bcbdfe7d;p=holmes%2Fengine-management.git diff --git a/engine-d/src/main/java/org/onap/holmes/engine/EngineDActiveApp.java b/engine-d/src/main/java/org/onap/holmes/engine/EngineDActiveApp.java index ef671e3..a0f46ce 100644 --- a/engine-d/src/main/java/org/onap/holmes/engine/EngineDActiveApp.java +++ b/engine-d/src/main/java/org/onap/holmes/engine/EngineDActiveApp.java @@ -16,12 +16,23 @@ package org.onap.holmes.engine; import io.dropwizard.setup.Environment; -import java.io.IOException; +import java.util.EnumSet; +import java.util.HashSet; +import java.util.Set; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import javax.servlet.DispatcherType; import lombok.extern.slf4j.Slf4j; -import org.onap.holmes.common.dropwizard.ioc.bundle.IOCApplication; -import org.onap.holmes.common.api.entity.ServiceRegisterEntity; import org.onap.holmes.common.config.MicroServiceConfig; +import org.onap.holmes.common.dropwizard.ioc.bundle.IOCApplication; +import org.onap.holmes.common.exception.CorrelationException; import org.onap.holmes.common.utils.MSBRegisterUtil; +import org.onap.holmes.common.utils.transactionid.TransactionIdFilter; +import org.onap.holmes.engine.dcae.DcaeConfigurationPolling; +import org.onap.holmes.engine.resources.EngineResources; +import org.onap.msb.sdk.discovery.entity.MicroServiceInfo; +import org.onap.msb.sdk.discovery.entity.Node; @Slf4j public class EngineDActiveApp extends IOCApplication { @@ -30,25 +41,39 @@ public class EngineDActiveApp extends IOCApplication { new EngineDActiveApp().run(args); } - @Override public void run(EngineDAppConfig configuration, Environment environment) throws Exception { super.run(configuration, environment); + environment.jersey().register(new EngineResources()); try { - new MSBRegisterUtil().register(initServiceEntity()); - } catch (IOException e) { - log.warn("Micro service registry httpclient close failure", e); + new MSBRegisterUtil().register2Msb(createMicroServiceInfo()); + } catch (CorrelationException e) { + log.warn(e.getMessage(), e); } + + ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(); + service.scheduleAtFixedRate( + new DcaeConfigurationPolling(MicroServiceConfig.getEnv(MicroServiceConfig.HOSTNAME)), 0, + DcaeConfigurationPolling.POLLING_PERIOD, TimeUnit.MILLISECONDS); + environment.servlets().addFilter("logFilter",new TransactionIdFilter()).addMappingForUrlPatterns(EnumSet + .allOf(DispatcherType.class),true,"/*"); } - private ServiceRegisterEntity initServiceEntity() { - ServiceRegisterEntity serviceRegisterEntity = new ServiceRegisterEntity(); - serviceRegisterEntity.setServiceName("holmes-engine-mgmt"); - serviceRegisterEntity.setProtocol("REST"); - serviceRegisterEntity.setVersion("v1"); - serviceRegisterEntity.setUrl("/onapapi/holmes-engine-mgmt/v1"); - serviceRegisterEntity.setSingleNode(MicroServiceConfig.getServiceIp(), "9102", 0); - serviceRegisterEntity.setVisualRange("1|0"); - return serviceRegisterEntity; + private MicroServiceInfo createMicroServiceInfo() { + String[] serviceAddrInfo = MicroServiceConfig.getMicroServiceIpAndPort(); + MicroServiceInfo msinfo = new MicroServiceInfo(); + msinfo.setServiceName("holmes-engine-mgmt"); + msinfo.setVersion("v1"); + msinfo.setUrl("/api/holmes-engine-mgmt/v1"); + msinfo.setProtocol("REST"); + msinfo.setVisualRange("0|1"); + msinfo.setEnable_ssl(true); + Set nodes = new HashSet<>(); + Node node = new Node(); + node.setIp(serviceAddrInfo[0]); + node.setPort(serviceAddrInfo[1]); + nodes.add(node); + msinfo.setNodes(nodes); + return msinfo; } }