<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      springboot 動態獲取配置信息完成啟動

      架構說設計到數據量較大的應用要從k8s中遷出單獨機器部署

      于是將8節點的服務準備遷出,且端口號在數據庫中保存

      在不引入springcloud的方式下 啟動spring容器中對args進行配置屬性注入

      思路一 通過spring容器獲取信息

          public static void main(String[] args) throws IllegalAccessException, NoSuchFieldException {
              //WebApplicationType.NONE 獲取bean信息
              SpringApplication build = new SpringApplicationBuilder(Application.class).web(WebApplicationType.NONE).build(args);
              ConfigurableApplicationContext run = build.run();
              ConfigurableEnvironment environment = run.getEnvironment();
              //模擬獲取到的端口號
              AA bean = run.getBean(AA.class);
              int port = bena.port();
              //關閉spring 不然會提示重復導致啟動失敗
              run.close();
              List<String> argList;
              if (args != null) {
                  argList = new ArrayList<>(Arrays.asList(args));
              } else {
                  argList = new ArrayList<>();
              }
              argList.add("--Dserver.port=6999");
              //起作用的行--
              argList.add("--server.port=6998");
              argList.add("-Dserver.port=6997");
              argList.add("-server.port=6996");
              argList.add("Dserver.port=6995");
              argList.add("server.port=6994");
              System.out.println("-------------------------------------------------------------------------");
              SpringApplication.run(Application.class, argList.toArray(new String[0]));
          }
      

      思路二 非spring容器獲取

         public static void main(String[] args) {
             //通過靜態方法,jdbc連接方式獲取 配置信息然后寫入args實現動態配置
             SpringApplication.run(Application.class,args);
         }
      

      額外的知識點

      修改final屬性的字段值

      MutablePropertySources propertySources = environment.getPropertySources();
      for (PropertySource<?> propertySource : propertySources) {
          Object source = propertySource.getSource();
          if (source instanceof Map) {
              //source 是一個只讀map
              Object o = Map.class.cast(source).get("server.port");
              if (o == null) {
                  continue;
              }
              if (o instanceof OriginTrackedValue) {
                  OriginTrackedValue cast = OriginTrackedValue.class.cast(o);
                  Field value = OriginTrackedValue.class.getDeclaredField("value");
                  //value字段 是final 修飾的               
                  //需要去掉modifiers中的Final
                  Field modifiers = Field.class.getDeclaredField("modifiers");
                  modifiers.setAccessible(true);
                  modifiers.setInt(value, modifiers.getModifiers() & ~Modifier.FINAL);
                  value.setAccessible(true);
                  value.set(cast, bean.port());
              }
          }
      }
      
      posted @ 2023-02-08 17:35  _Y_h  閱讀(106)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中国女人内谢69xxxx| 91精品国产自产在线蜜臀| 精品 日韩 国产 欧美 视频| 小鲜肉自慰网站| 久久99精品国产麻豆宅宅| 国产一区二区三区四区五区加勒比 | 亚洲综合网中文字幕在线| 国产福利酱国产一区二区| 亚洲免费观看一区二区三区| 国产精品揄拍一区二区久久| 国产日韩精品欧美一区灰| 亚洲制服无码一区二区三区| 国产精品一区二区三区蜜臀| 色欲aⅴ亚洲情无码av蜜桃| 深夜放纵内射少妇| 国产片AV国语在线观看手机版 | 亚洲欧美日韩在线不卡| 国产精品免费看久久久| 金秀| 亚洲中文久久久精品无码| 女人扒开的小泬高潮喷小| 韩国无码AV片午夜福利| 国产a在视频线精品视频下载| 国产在线亚州精品内射| 乌鲁木齐市| 在线看国产精品自拍内射| 在线播放国产女同闺蜜| 欧洲免费一区二区三区视频| 99久久精品国产一区色| 超碰伊人久久大香线蕉综合| 亚洲综合无码一区二区三区不卡| 亚洲精品毛片一区二区| 99福利一区二区视频| 国产精品成人午夜久久| 国产福利深夜在线观看| 久久人妻精品白浆国产| 成人午夜视频在线| 成人无码视频在线观看免费播放| 极品少妇无套内射视频| 久久久久久99av无码免费网站| 国产一区二区不卡91|