/**
- * Copyright 2016 ZTE, Inc. and others.
+ * Copyright 2016-2017 ZTE, Inc. and others.
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
*/
package org.onap.msb.sdclient;
import io.dropwizard.setup.Environment;
import io.swagger.jaxrs.config.BeanConfig;
import io.swagger.jaxrs.listing.ApiListingResource;
+import java.util.Optional;
public class DiscoverApp extends Application<DiscoverAppConfig> {
- private static final Logger LOGGER = LoggerFactory
- .getLogger(DiscoverApp.class);
-
- public static void main(String[] args) throws Exception {
- new DiscoverApp().run(args);
-
- }
-
- private DiscoverAppConfig config;
-
- @Override
- public String getName() {
- return " MicroService Bus ";
- }
-
- @Override
- public void initialize(Bootstrap<DiscoverAppConfig> bootstrap) {
-// bootstrap.addBundle(new AssetsBundle("/iui-metrics",
-// "/iui/microservices/metrics", "index.html", "iui-metrics"));
-// bootstrap.addBundle(new AssetsBundle("/iui-discover",
-// "/iui/microservices", "index.html", "iui-microservices"));
-// bootstrap.addBundle(new AssetsBundle("/iui-discover", "/iui",
-// "index.html", "iui"));
-
-
- }
-
- @Override
- public void run(DiscoverAppConfig configuration, Environment environment) {
-
- environment.jersey().register(new MicroServiceResource());
-
- config=configuration;
-
- initSwaggerConfig(environment, configuration);
-
- ConfigUtil.getInstance().initConsulClientInfo(configuration);
-
- initApiGateWayServiceListen();
-
- ConfigUtil.getInstance().initTCP_UDP_portRange();
-
- ConfigUtil.getInstance().initConsulRegisterMode(configuration);
-
- }
-
-
-
- private void initSwaggerConfig(Environment environment,
- DiscoverAppConfig configuration) {
-
- environment.jersey().register(new ApiListingResource());
- environment.getObjectMapper().setSerializationInclusion(
- JsonInclude.Include.NON_NULL);
-
- BeanConfig config = new BeanConfig();
- config.setTitle("Service Discovery RESTful API");
- config.setVersion("1.0.0");
- config.setResourcePackage("org.onap.msb.sdclient.resources");
- // 设置swagger里面访问rest api时的basepath
- SimpleServerFactory simpleServerFactory = (SimpleServerFactory) configuration
- .getServerFactory();
- // 必须以"/"开头,结尾可有可无"/"
- String basePath = simpleServerFactory.getApplicationContextPath();
- String rootPath = simpleServerFactory.getJerseyRootPath();
-
- rootPath = rootPath.substring(0, rootPath.indexOf("/*"));
-
- basePath = basePath.equals("/") ? rootPath : (new StringBuilder())
- .append(basePath).append(rootPath).toString();
-
- LOGGER.info("getApplicationContextPath: " + basePath);
- config.setBasePath(basePath);
- config.setScan(true);
- }
-
-
-
-
-
-
-
-
-
- /**
- * @Title initApiGateWayServiceListen
- * @Description TODO(开启对consul中ApiGateWay服务的监听和缓存)
- * @return void
- */
- private void initApiGateWayServiceListen(){
-
- String[] consulAddress= ConfigUtil.getInstance().getConsulAddress().split(":");
- ConsulClientApp consulClientApp = new ConsulClientApp(consulAddress[0],Integer.parseInt(consulAddress[1]));
-
- PublishAddressWrapper.getInstance().setConsulClientApp(consulClientApp);
+ private static final Logger LOGGER = LoggerFactory.getLogger(DiscoverApp.class);
+
+ public static void main(String[] args) throws Exception {
+ new DiscoverApp().run(args);
+
+ }
+
+ private DiscoverAppConfig config;
+
+ @Override
+ public String getName() {
+ return " MicroService Bus ";
+ }
+
+ @Override
+ public void initialize(Bootstrap<DiscoverAppConfig> bootstrap) {
+ // bootstrap.addBundle(new AssetsBundle("/iui-metrics",
+ // "/iui/microservices/metrics", "index.html", "iui-metrics"));
+ // bootstrap.addBundle(new AssetsBundle("/iui-discover",
+ // "/iui/microservices", "index.html", "iui-microservices"));
+ // bootstrap.addBundle(new AssetsBundle("/iui-discover", "/iui",
+ // "index.html", "iui"));
+
+
+ }
+
+ @Override
+ public void run(DiscoverAppConfig configuration, Environment environment) {
+
+ environment.jersey().register(new MicroServiceResource());
+
+ config = configuration;
+
+ initSwaggerConfig(environment, configuration);
+
+ ConfigUtil.getInstance().initConsulClientInfo(configuration);
+
+ initApiGateWayServiceListen();
+
+ ConfigUtil.getInstance().initTCP_UDP_portRange();
+
+ ConfigUtil.getInstance().initConsulRegisterMode(configuration);
+
+ }
+
+
+
+ private void initSwaggerConfig(Environment environment, DiscoverAppConfig configuration) {
+
+ environment.jersey().register(new ApiListingResource());
+ environment.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);
+
+ BeanConfig config = new BeanConfig();
+ config.setTitle("Service Discovery RESTful API");
+ config.setVersion("1.0.0");
+ config.setResourcePackage("org.onap.msb.sdclient.resources");
+ // 设置swagger里面访问rest api时的basepath
+ SimpleServerFactory simpleServerFactory = (SimpleServerFactory) configuration.getServerFactory();
+ // 必须以"/"开头,结尾可有可无"/"
+ String basePath = simpleServerFactory.getApplicationContextPath();
+ Optional<String> optRootPath = simpleServerFactory.getJerseyRootPath();
+
+ String rootPath = optRootPath.get();
+
+ rootPath = rootPath.substring(0, rootPath.indexOf("/*"));
+
+ basePath = basePath.equals("/") ? rootPath : (new StringBuilder()).append(basePath).append(rootPath).toString();
+
+ LOGGER.info("getApplicationContextPath: " + basePath);
+ config.setBasePath(basePath);
+ config.setScan(true);
+ }
+
+
+
+ /**
+ * @Title initApiGateWayServiceListen
+ * @Description TODO(开启对consul中ApiGateWay服务的监听和缓存)
+ * @return void
+ */
+ private void initApiGateWayServiceListen() {
+
+ String[] consulAddress = ConfigUtil.getInstance().getConsulAddress().split(":");
+ ConsulClientApp consulClientApp = new ConsulClientApp(consulAddress[0], Integer.parseInt(consulAddress[1]));
+
+ PublishAddressWrapper.getInstance().setConsulClientApp(consulClientApp);
// 监听服务变化
- //consulClientApp.startHealthNodeListen(DiscoverUtil.APIGATEWAY_SERVINCE_ALL);
- //LOGGER.info("start monitor ApiGateWay service--" + DiscoverUtil.CONSUL_ADDRESSS+"--"+DiscoverUtil.APIGATEWAY_SERVINCE);
-
- }
-
-
-
+ // consulClientApp.startHealthNodeListen(DiscoverUtil.APIGATEWAY_SERVINCE_ALL);
+ // LOGGER.info("start monitor ApiGateWay service--" +
+ // DiscoverUtil.CONSUL_ADDRESSS+"--"+DiscoverUtil.APIGATEWAY_SERVINCE);
+
+ }
+
+
}