Commit 1d26b63cd59969df0f9a0217f82a2fbdc12201d9

Authored by 王通
1 parent ee678e33

1.大邑迁移

src/main/java/com/bsth/Application.java
1 1 package com.bsth;
2 2  
3   -import com.bsth.util.AppProperties;
4   -import org.springframework.beans.factory.annotation.Autowired;
5   -import org.springframework.beans.factory.annotation.Value;
6   -import org.springframework.boot.CommandLineRunner;
7 3 import org.springframework.boot.SpringApplication;
8 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
9 5 import org.springframework.boot.builder.SpringApplicationBuilder;
10 6 import org.springframework.boot.web.support.SpringBootServletInitializer;
11   -import org.springframework.core.env.ConfigurableEnvironment;
12 7  
13   -import java.io.IOException;
14   -import java.io.InputStream;
15 8 import java.lang.management.ManagementFactory;
16 9 import java.lang.management.RuntimeMXBean;
17 10 import java.util.List;
18   -import java.util.Properties;
19 11 import java.util.concurrent.Executors;
20 12 import java.util.concurrent.ScheduledExecutorService;
21 13  
... ... @@ -41,29 +33,7 @@ public class Application extends SpringBootServletInitializer {
41 33 }
42 34  
43 35 if (normal) {
44   - loadProperties();
45 36 SpringApplication.run(Application.class, args);
46 37 }
47 38 }
48   -
49   - private static void loadProperties() {
50   - Properties prop = new Properties();
51   - try (InputStream input = Application.class.getClassLoader().getResourceAsStream("application.properties")) {
52   - prop.load(input);
53   - String activeProfile = prop.getProperty("spring.profiles.active", "");
54   - String cacheDays = prop.getProperty("cache.days", "15");
55   - InputStream input1 = Application.class.getClassLoader().getResourceAsStream(String.format("application-%s.properties", activeProfile));
56   - prop.load(input1);
57   - String controlUrl = prop.getProperty("http.control.service_data_url", "");
58   - String secretKey = prop.getProperty("http.control.secret.key", "");
59   - String gpsUrl = prop.getProperty("http.gps.real.url", "");
60   -
61   - AppProperties.setCacheDays(Integer.parseInt(cacheDays));
62   - AppProperties.setControlUrl(controlUrl);
63   - AppProperties.setSecretKey(secretKey);
64   - AppProperties.setGpsUrl(gpsUrl);
65   - } catch (IOException e) {
66   - throw new RuntimeException(e);
67   - }
68   - }
69 39 }
70 40 \ No newline at end of file
... ...
src/main/java/com/bsth/redis/ElecRedisService.java
... ... @@ -38,6 +38,9 @@ public class ElecRedisService implements CommandLineRunner {
38 38 @Autowired
39 39 RedisUtils redisUtils;
40 40  
  41 + @Autowired
  42 + private AppProperties appProperties;
  43 +
41 44 static Logger logger = LoggerFactory.getLogger(ElecRedisService.class);
42 45  
43 46 private final static String REDIS_KEY_PREFIX = "elec:";
... ... @@ -156,7 +159,7 @@ public class ElecRedisService implements CommandLineRunner {
156 159 * 和数据库同步数据
157 160 */
158 161 public void synchData(Integer days) {
159   - int cacheDays = AppProperties.getCacheDays();
  162 + int cacheDays = appProperties.getCacheDays();
160 163 if (null != days && days < cacheDays)
161 164 cacheDays = days;
162 165 //设置key 序列化器
... ...
src/main/java/com/bsth/redis/OilRedisService.java
... ... @@ -38,6 +38,9 @@ public class OilRedisService implements CommandLineRunner {
38 38 @Autowired
39 39 RedisUtils redisUtils;
40 40  
  41 + @Autowired
  42 + private AppProperties appProperties;
  43 +
41 44 static Logger logger = LoggerFactory.getLogger(OilRedisService.class);
42 45  
43 46 private final static String REDIS_KEY_PREFIX = "oil:";
... ... @@ -189,7 +192,7 @@ public class OilRedisService implements CommandLineRunner {
189 192 * 和数据库同步数据
190 193 */
191 194 public void synchData(Integer days) {
192   - int cacheDays = AppProperties.getCacheDays();
  195 + int cacheDays = appProperties.getCacheDays();
193 196 if (null != days && days < cacheDays)
194 197 cacheDays = days;
195 198 //设置key 序列化器
... ...
src/main/java/com/bsth/redis/PlanScheduleRedisService.java
... ... @@ -44,6 +44,9 @@ public class PlanScheduleRedisService implements CommandLineRunner {
44 44 @Autowired
45 45 RedisUtils redisUtils;
46 46  
  47 + @Autowired
  48 + private AppProperties appProperties;
  49 +
47 50 static Logger logger = LoggerFactory.getLogger(PlanScheduleRedisService.class);
48 51  
49 52 private final static String REDIS_KEY_PREFIX = "plan:";
... ... @@ -126,7 +129,7 @@ public class PlanScheduleRedisService implements CommandLineRunner {
126 129 Application.mainServices.schedule(new Runnable() {
127 130 @Override
128 131 public void run() {
129   - int cacheDays = AppProperties.getCacheDays();
  132 + int cacheDays = appProperties.getCacheDays();
130 133 //设置key 序列化器
131 134 redisTemplate.setKeySerializer(new StringRedisSerializer());
132 135  
... ... @@ -163,12 +166,15 @@ public class PlanScheduleRedisService implements CommandLineRunner {
163 166 @Autowired
164 167 SchedulePlanInfoRepository planInfoRepository;
165 168  
  169 + @Autowired
  170 + private AppProperties appProperties;
  171 +
166 172 @Override
167 173 public void run() {
168 174 try {
169 175 logger.info("redis -清理计划排班");
170 176  
171   - int cacheDays = AppProperties.getCacheDays();
  177 + int cacheDays = appProperties.getCacheDays();
172 178 DateTime dt = new DateTime();
173 179 dt = dt.minusDays(cacheDays);
174 180 String rq = dt.toString("yyyy-MM-dd");
... ...
src/main/java/com/bsth/redis/ScheduleRedisService.java
... ... @@ -210,6 +210,9 @@ public class ScheduleRedisService implements CommandLineRunner {
210 210 @Autowired
211 211 ScheduleClearThread scheduleClearThread;
212 212  
  213 + @Autowired
  214 + private AppProperties appProperties;
  215 +
213 216 @Override
214 217 public void run(String... strings) throws Exception {
215 218 //用子线程去加载,,不要阻塞
... ... @@ -218,7 +221,7 @@ public class ScheduleRedisService implements CommandLineRunner {
218 221 public void run() {
219 222 try {
220 223 logger.info("redis 实际排班 start...");
221   - int cacheDays = AppProperties.getCacheDays();
  224 + int cacheDays = appProperties.getCacheDays();
222 225 //设置key 序列化器
223 226 redisTemplate.setKeySerializer(new StringRedisSerializer());
224 227  
... ... @@ -287,10 +290,13 @@ public class ScheduleRedisService implements CommandLineRunner {
287 290 @Autowired
288 291 ScheduleRedisService scheduleRedisService;
289 292  
  293 + @Autowired
  294 + private AppProperties appProperties;
  295 +
290 296 @Override
291 297 public void run() {
292 298 try {
293   - int cacheDays = AppProperties.getCacheDays();
  299 + int cacheDays = appProperties.getCacheDays();
294 300 DateTime dt = new DateTime();
295 301 dt = dt.minusDays(cacheDays);
296 302 String rq = dt.toString("yyyy-MM-dd");
... ...
src/main/java/com/bsth/server_rs/directive/DirectiveRestService.java
... ... @@ -6,6 +6,7 @@ import com.bsth.util.AppProperties;
6 6 import com.bsth.util.HttpClientUtils;
7 7 import org.slf4j.Logger;
8 8 import org.slf4j.LoggerFactory;
  9 +import org.springframework.beans.factory.InitializingBean;
9 10 import org.springframework.beans.factory.annotation.Autowired;
10 11 import org.springframework.stereotype.Component;
11 12 import org.springframework.web.bind.annotation.RequestBody;
... ... @@ -21,13 +22,17 @@ import java.util.Map;
21 22 @Component
22 23 @Path("/directive")
23 24 @Produces({MediaType.APPLICATION_JSON})
24   -public class DirectiveRestService {
  25 +public class DirectiveRestService implements InitializingBean {
25 26  
26   - static String secretKey = AppProperties.getSecretKey();
27   - static String url = AppProperties.getControlUrl() + "/send60Phrase?secretKey=" + secretKey;
  27 + private String secretKey;
  28 + private String url;
28 29  
29 30 @Autowired
30 31 SchRealDataBuffer schRealDataBuffer;
  32 +
  33 + @Autowired
  34 + private AppProperties appProperties;
  35 +
31 36 Logger logger = LoggerFactory.getLogger(this.getClass());
32 37  
33 38 @POST
... ... @@ -54,4 +59,10 @@ public class DirectiveRestService {
54 59 return null;
55 60 }
56 61 }
  62 +
  63 + @Override
  64 + public void afterPropertiesSet() throws Exception {
  65 + secretKey = appProperties.getSecretKey();
  66 + url = appProperties.getControlUrl() + "/send60Phrase?secretKey=" + secretKey;
  67 + }
57 68 }
... ...
src/main/java/com/bsth/server_rs/gps/buffer/GpsRefreshThread.java
... ... @@ -12,6 +12,8 @@ import org.apache.http.impl.client.CloseableHttpClient;
12 12 import org.apache.http.impl.client.HttpClients;
13 13 import org.slf4j.Logger;
14 14 import org.slf4j.LoggerFactory;
  15 +import org.springframework.beans.factory.InitializingBean;
  16 +import org.springframework.beans.factory.annotation.Autowired;
15 17 import org.springframework.stereotype.Component;
16 18  
17 19 import java.io.BufferedReader;
... ... @@ -22,9 +24,12 @@ import java.util.List;
22 24 * Created by panzhao on 2017/3/30.
23 25 */
24 26 @Component
25   -public class GpsRefreshThread extends Thread{
  27 +public class GpsRefreshThread extends Thread implements InitializingBean {
26 28  
27   - static String url = AppProperties.getGpsUrl();
  29 + private String url;
  30 +
  31 + @Autowired
  32 + private AppProperties appProperties;
28 33  
29 34 Logger logger = LoggerFactory.getLogger(this.getClass());
30 35  
... ... @@ -63,4 +68,9 @@ public class GpsRefreshThread extends Thread{
63 68 logger.error("", e);
64 69 }
65 70 }
  71 +
  72 + @Override
  73 + public void afterPropertiesSet() throws Exception {
  74 + url = appProperties.getGpsUrl();
  75 + }
66 76 }
... ...
src/main/java/com/bsth/server_rs/schedule/real/ScheduleRealService.java
... ... @@ -56,11 +56,14 @@ public class ScheduleRealService implements InitializingBean {
56 56 @Autowired
57 57 private KafkaTemplate kafkaTemplate;
58 58  
  59 + @Autowired
  60 + private AppProperties appProperties;
  61 +
59 62 Logger logger = LoggerFactory.getLogger(this.getClass());
60 63  
61   - static String url = AppProperties.getControlUrl();
  64 + private String url;
62 65  
63   - static String secretKey = AppProperties.getSecretKey();
  66 + private String secretKey;
64 67  
65 68 private volatile long timestamp;
66 69  
... ... @@ -317,65 +320,7 @@ public class ScheduleRealService implements InitializingBean {
317 320  
318 321 @Override
319 322 public void afterPropertiesSet() throws Exception {
320   - /*Application.mainServices.scheduleWithFixedDelay(new Runnable() {
321   - @Override
322   - public void run() {
323   - try {
324   - DateTime dateTime = DateTime.now(), preDate = dateTime.minusDays(1);
325   - List<String> dates = new ArrayList<>();
326   - dates.add(dateTime.toString("yyyy-MM-dd"));
327   - dates.add(preDate.toString("yyyy-MM-dd"));
328   - if (timestamp == 0) {
329   - timestamp = dateTime.minusHours(1).getMillis();
330   - }
331   - List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.findByDates(dates, new Date(timestamp));
332   - timestamp = dateTime.getMillis();
333   -
334   - Queue<ScheduleRealInfoVo> queue = new ConcurrentLinkedDeque<>();
335   - for (ScheduleRealInfo sch : scheduleRealInfos) {
336   - ScheduleRealInfoVo scheduleRealInfoVo = new ScheduleRealInfoVo();
337   - BeanUtils.copyProperties(sch, scheduleRealInfoVo);
338   - Car car = CarBufferData.findOne(scheduleRealInfoVo.getClZbh());
339   - scheduleRealInfoVo.setCarPlate(car == null ? "" : car.getCarPlate());
340   - queue.add(scheduleRealInfoVo);
341   - }
342   -
343   - int size = scheduleRealInfos.size();
344   - for (int i = 0, len = size % KAFKA_BATCH_SIZE == 0 ? size / KAFKA_BATCH_SIZE : size / KAFKA_BATCH_SIZE + 1;i < len;i++) {
345   - List<ScheduleRealInfoVo> scheduleRealInfoVos = new ArrayList<>();
346   - for (int j = 0; j < KAFKA_BATCH_SIZE;j++) {
347   - ScheduleRealInfoVo scheduleRealInfoVo = queue.poll();
348   - if (scheduleRealInfoVo == null) {
349   - break;
350   - }
351   - scheduleRealInfoVos.add(scheduleRealInfoVo);
352   - }
353   -
354   - Map<String, Object> data = new HashMap<>();
355   - data.put("datatype", "waybill");
356   - data.put("datas", scheduleRealInfoVos);
357   -
358   - ObjectMapper mapper = new ObjectMapper();
359   - String json = mapper.writeValueAsString(data);
360   - logger.info(json);
361   - ListenableFuture<SendResult<String, String>> future = kafkaTemplate.send("PDGJ_JQDD", json);
362   - future.addCallback(new ListenableFutureCallback<SendResult<String, String>>() {
363   -
364   - @Override
365   - public void onSuccess(SendResult<String, String> result) {
366   -
367   - }
368   -
369   - @Override
370   - public void onFailure(Throwable ex) {
371   - logger.error("kafka发送电子路单异常", ex);
372   - }
373   - });
374   - }
375   - } catch (Exception e) {
376   - logger.error("kafka发电子路单调度异常", e);
377   - }
378   - }
379   - }, 30, 240, TimeUnit.SECONDS);*/
  323 + url = appProperties.getControlUrl();
  324 + secretKey = appProperties.getSecretKey();
380 325 }
381 326 }
... ...
src/main/java/com/bsth/server_rs/schedule/real/thread/ExecSchDataRefreshThread.java
... ... @@ -7,6 +7,7 @@ import com.bsth.util.AppProperties;
7 7 import com.bsth.util.HttpClientUtils;
8 8 import org.slf4j.Logger;
9 9 import org.slf4j.LoggerFactory;
  10 +import org.springframework.beans.factory.InitializingBean;
10 11 import org.springframework.beans.factory.annotation.Autowired;
11 12 import org.springframework.stereotype.Component;
12 13  
... ... @@ -19,13 +20,18 @@ import java.util.Map;
19 20 * Created by panzhao on 2017/11/9.
20 21 */
21 22 @Component
22   -public class ExecSchDataRefreshThread extends Thread{
  23 +public class ExecSchDataRefreshThread extends Thread implements InitializingBean {
23 24  
24   - static String secretKey = AppProperties.getSecretKey();
25   - static String url = AppProperties.getControlUrl() + "/execSchList?secretKey=" + secretKey;
  25 + private String secretKey;
  26 +
  27 + private String url;
26 28  
27 29 @Autowired
28 30 SchRealDataBuffer schRealDataBuffer;
  31 +
  32 + @Autowired
  33 + private AppProperties appProperties;
  34 +
29 35 Logger logger = LoggerFactory.getLogger(this.getClass());
30 36  
31 37 @Override
... ... @@ -45,4 +51,10 @@ public class ExecSchDataRefreshThread extends Thread{
45 51 logger.error("", e);
46 52 }
47 53 }
  54 +
  55 + @Override
  56 + public void afterPropertiesSet() throws Exception {
  57 + secretKey = appProperties.getSecretKey();
  58 + url = appProperties.getControlUrl() + "/execSchList?secretKey=" + secretKey;
  59 + }
48 60 }
... ...
src/main/java/com/bsth/server_rs/schedule/real/thread/SchInOutDataRefreshThread.java
... ... @@ -7,6 +7,7 @@ import com.bsth.util.AppProperties;
7 7 import com.bsth.util.HttpClientUtils;
8 8 import org.slf4j.Logger;
9 9 import org.slf4j.LoggerFactory;
  10 +import org.springframework.beans.factory.InitializingBean;
10 11 import org.springframework.beans.factory.annotation.Autowired;
11 12 import org.springframework.stereotype.Component;
12 13  
... ... @@ -17,13 +18,17 @@ import java.util.List;
17 18 * Created by panzhao on 2017/9/27.
18 19 */
19 20 @Component
20   -public class SchInOutDataRefreshThread extends Thread {
  21 +public class SchInOutDataRefreshThread extends Thread implements InitializingBean {
21 22  
22   - static String secretKey = AppProperties.getSecretKey();
23   - static String url = AppProperties.getControlUrl() + "/findCurrInAndOut?secretKey=" + secretKey;
  23 + private String secretKey;
  24 + private String url;
24 25  
25 26 @Autowired
26 27 SchRealDataBuffer schRealDataBuffer;
  28 +
  29 + @Autowired
  30 + private AppProperties appProperties;
  31 +
27 32 Logger logger = LoggerFactory.getLogger(this.getClass());
28 33  
29 34 @Override
... ... @@ -40,4 +45,10 @@ public class SchInOutDataRefreshThread extends Thread {
40 45 logger.error("", e);
41 46 }
42 47 }
  48 +
  49 + @Override
  50 + public void afterPropertiesSet() throws Exception {
  51 + secretKey = appProperties.getSecretKey();
  52 + url = appProperties.getControlUrl() + "/findCurrInAndOut?secretKey=" + secretKey;
  53 + }
43 54 }
... ...
src/main/java/com/bsth/server_ws/util/ControlHttpUtils.java
... ... @@ -11,20 +11,28 @@ import org.apache.http.impl.client.HttpClients;
11 11 import org.apache.http.util.EntityUtils;
12 12 import org.slf4j.Logger;
13 13 import org.slf4j.LoggerFactory;
  14 +import org.springframework.beans.factory.InitializingBean;
  15 +import org.springframework.beans.factory.annotation.Autowired;
  16 +import org.springframework.stereotype.Component;
14 17  
15 18 import java.io.IOException;
  19 +import java.util.ArrayList;
16 20 import java.util.List;
17 21  
18 22 /**
19 23 * Created by panzhao on 2017/3/15.
20 24 */
21   -public class ControlHttpUtils {
  25 +@Component
  26 +public class ControlHttpUtils implements InitializingBean {
22 27  
23   - static Logger logger = LoggerFactory.getLogger(ControlHttpUtils.class);
  28 + private static Logger logger = LoggerFactory.getLogger(ControlHttpUtils.class);
24 29  
25   - static String url = AppProperties.getControlUrl();
  30 + private static String url;
26 31  
27   - static String secretKey = AppProperties.getSecretKey();
  32 + private static String secretKey;
  33 +
  34 + @Autowired
  35 + private AppProperties appProperties;
28 36  
29 37 /**
30 38 * 从调度系统获取班次信息
... ... @@ -32,6 +40,9 @@ public class ControlHttpUtils {
32 40 * @return
33 41 */
34 42 public static List<ScheduleRealInfo> getCurrentDayPlan(String companyId, String workId) throws IOException {
  43 + if (secretKey == null || url == null) {
  44 + return new ArrayList<>();
  45 + }
35 46  
36 47 CloseableHttpClient httpClient = null;
37 48 List<ScheduleRealInfo> rs = null;
... ... @@ -57,6 +68,9 @@ public class ControlHttpUtils {
57 68 * @return
58 69 */
59 70 public static List<ScheduleRealInfo> returnJCCInfo(String companyId, String jcOrCc) throws IOException{
  71 + if (secretKey == null || url == null) {
  72 + return new ArrayList<>();
  73 + }
60 74  
61 75 String method = jcOrCc.equals("out")?"/returnCCInfo":"/returnJCInfo";
62 76  
... ... @@ -76,4 +90,10 @@ public class ControlHttpUtils {
76 90 rs = JSONArray.parseArray(EntityUtils.toString(response.getEntity()), ScheduleRealInfo.class);
77 91 return rs;
78 92 }
  93 +
  94 + @Override
  95 + public void afterPropertiesSet() throws Exception {
  96 + url = appProperties.getControlUrl();
  97 + secretKey = appProperties.getSecretKey();
  98 + }
79 99 }
... ...
src/main/java/com/bsth/util/AppProperties.java
... ... @@ -9,43 +9,47 @@ import org.springframework.stereotype.Component;
9 9 @Component
10 10 public class AppProperties {
11 11  
12   - private static int cacheDays;
  12 + private int cacheDays;
13 13  
14   - private static String controlUrl;
  14 + private String controlUrl;
15 15  
16   - private static String secretKey;
  16 + private String secretKey;
17 17  
18   - private static String gpsUrl;
  18 + private String gpsUrl;
19 19  
20   - public static int getCacheDays() {
  20 + public int getCacheDays() {
21 21 return cacheDays;
22 22 }
23 23  
24   - public static void setCacheDays(int cacheDays) {
25   - AppProperties.cacheDays = cacheDays;
  24 + @Value("${cache.days}")
  25 + public void setCacheDays(int cacheDays) {
  26 + this.cacheDays = cacheDays;
26 27 }
27 28  
28   - public static String getControlUrl() {
  29 + public String getControlUrl() {
29 30 return controlUrl;
30 31 }
31 32  
32   - public static void setControlUrl(String controlUrl) {
33   - AppProperties.controlUrl = controlUrl;
  33 + @Value("${http.control.service_data_url}")
  34 + public void setControlUrl(String controlUrl) {
  35 + this.controlUrl = controlUrl;
34 36 }
35 37  
36   - public static String getSecretKey() {
  38 + public String getSecretKey() {
37 39 return secretKey;
38 40 }
39 41  
40   - public static void setSecretKey(String secretKey) {
41   - AppProperties.secretKey = secretKey;
  42 + @Value("${http.control.secret.key}")
  43 + public void setSecretKey(String secretKey) {
  44 + this.secretKey = secretKey;
42 45 }
43 46  
44   - public static String getGpsUrl() {
  47 + public String getGpsUrl() {
45 48 return gpsUrl;
46 49 }
47 50  
48   - public static void setGpsUrl(String gpsUrl) {
49   - AppProperties.gpsUrl = gpsUrl;
  51 + @Value("${http.gps.real.url}")
  52 + public void setGpsUrl(String gpsUrl) {
  53 + this.gpsUrl = gpsUrl;
50 54 }
51 55 }
... ...