| package com.dy.pipIrrWebFile.fm; | 
|   | 
| import com.dy.common.util.NumUtil; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.boot.context.event.ApplicationReadyEvent; | 
| import org.springframework.context.ApplicationListener; | 
| import org.springframework.core.env.Environment; | 
| import org.springframework.lang.NonNull; | 
| import org.springframework.stereotype.Component; | 
|   | 
| @Component | 
| public class DyFmListener implements ApplicationListener<ApplicationReadyEvent> { | 
|   | 
|     @Autowired | 
|     private Environment env; | 
|   | 
|     public static DyFileSvConf.Group dyFileGroup = new DyFileSvConf.Group() ; | 
|   | 
|     /** | 
|      * SpringBoot容器已经准备好了 | 
|      * @param event 事件 | 
|      */ | 
|     @Override | 
|     public void onApplicationEvent(@NonNull ApplicationReadyEvent event) { | 
|         try { | 
|             //等1秒,等待com.alibaba.druid.pool.DruidDataSource初始化完成 | 
|             Thread.sleep(1000L); | 
|         } catch (InterruptedException e) { | 
|             e.printStackTrace(); | 
|         }finally { | 
|             try{ | 
|                 parseConfig() ; | 
|             }catch(Exception e){ | 
|                 e.printStackTrace(); | 
|                 dyFileGroup = null ; | 
|             } | 
|         } | 
|     } | 
|     private void parseConfig() throws Exception{ | 
|         String fmUrl = env.getProperty("dy.webFile.fmUrl"); | 
|         for(int i = 1 ; i <= 12 ; i++){ | 
|             String id = env.getProperty("dy.webFile.sv" + i + ".id"); | 
|             String absolutePath = env.getProperty("dy.webFile.sv" + i + ".absolutePath"); | 
|             String relativePath = env.getProperty("dy.webFile.sv" + i + ".relativePath"); | 
|             String hashStart = env.getProperty("dy.webFile.sv" + i + ".hashStart"); | 
|             String hashEnd = env.getProperty("dy.webFile.sv" + i + ".hashEnd"); | 
|             String restUrl = env.getProperty("dy.webFile.sv" + i + ".restUrl"); | 
|             String webUrl = env.getProperty("dy.webFile.sv" + i + ".webUrl"); | 
|             String webDownloadPath = env.getProperty("dy.webFile.sv" + i + ".webDownloadPath"); | 
|             if(!NumUtil.isPlusIntNumber(hashStart)){ | 
|                 throw new Exception("配置dy.webFile.sv" + i + ".hashStart 不是整数") ; | 
|             } | 
|             if(!NumUtil.isPlusIntNumber(hashEnd)){ | 
|                 throw new Exception("配置dy.webFile.sv" + i + ".hashEnd 不是整数") ; | 
|             } | 
|             dyFileGroup.add(new DyFileSvConf.Vo(id, | 
|                     absolutePath, | 
|                     relativePath, | 
|                     restUrl, | 
|                     webUrl, | 
|                     webDownloadPath, | 
|                     Integer.parseInt(hashStart), | 
|                     Integer.parseInt(hashEnd))) ; | 
|         } | 
|         dyFileGroup.check(); | 
|     } | 
| } |