Add msb register code
[holmes/rule-management.git] / rulemgt / src / main / java / org / openo / holmes / rulemgt / resources / RuleMgtResources.java
index 682faf0..08d66f7 100644 (file)
@@ -22,6 +22,7 @@ import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.SwaggerDefinition;\r
 import java.io.IOException;\r
 import java.util.Locale;\r
+import javax.annotation.PostConstruct;\r
 import javax.inject.Inject;\r
 import javax.servlet.http.HttpServletRequest;\r
 import javax.ws.rs.DELETE;\r
@@ -36,11 +37,14 @@ import javax.ws.rs.core.MediaType;
 import lombok.extern.slf4j.Slf4j;\r
 import net.sf.json.JSONObject;\r
 import org.jvnet.hk2.annotations.Service;\r
+import org.openo.holmes.common.api.entity.ServiceRegisterEntity;\r
+import org.openo.holmes.common.config.MicroServiceConfig;\r
 import org.openo.holmes.common.exception.CorrelationException;\r
 import org.openo.holmes.common.utils.ExceptionUtil;\r
 import org.openo.holmes.common.utils.I18nProxy;\r
 import org.openo.holmes.common.utils.JacksonUtil;\r
 import org.openo.holmes.common.utils.LanguageUtil;\r
+import org.openo.holmes.common.utils.MSBRegisterUtil;\r
 import org.openo.holmes.common.utils.UserUtil;\r
 import org.openo.holmes.rulemgt.bean.request.RuleCreateRequest;\r
 import org.openo.holmes.rulemgt.bean.request.RuleDeleteRequest;\r
@@ -59,9 +63,20 @@ import org.openo.holmes.rulemgt.wrapper.RuleMgtWrapper;
 @Slf4j\r
 public class RuleMgtResources {\r
 \r
+    @Inject\r
+    private MSBRegisterUtil msbRegisterUtil;\r
     @Inject\r
     private RuleMgtWrapper ruleMgtWrapper;\r
 \r
+    @PostConstruct\r
+    public void init() {\r
+        try {\r
+            msbRegisterUtil.register(initServiceEntity());\r
+        } catch (IOException e) {\r
+            log.warn("Micro service registry httpclient close failure",e);\r
+        }\r
+    }\r
+\r
     @PUT\r
     @Produces(MediaType.APPLICATION_JSON)\r
     @ApiOperation(value = "Save the alarm+ rule to the database, and deployed to the engine when the enable to open.", response = RuleAddAndUpdateResponse.class)\r
@@ -161,4 +176,15 @@ public class RuleMgtResources {
                     I18nProxy.RULE_MANAGEMENT_DATA_FORMAT_ERROR));\r
         }\r
     }\r
+\r
+    private ServiceRegisterEntity initServiceEntity() {\r
+        ServiceRegisterEntity serviceRegisterEntity = new ServiceRegisterEntity();\r
+        serviceRegisterEntity.setServiceName("holmes");\r
+        serviceRegisterEntity.setProtocol("REST");\r
+        serviceRegisterEntity.setVersion("v1");\r
+        serviceRegisterEntity.setUrl("/api/holmes/v1");\r
+        serviceRegisterEntity.setSingleNode(MicroServiceConfig.getServiceIp(), "9101", 0);\r
+        serviceRegisterEntity.setVisualRange("1");\r
+        return serviceRegisterEntity;\r
+    }\r
 }\r