Commit 8b86bea52aa3560a119f94e6ddd961c207cf029e

Authored by 徐烜
1 parent 69222f2e

1、添加dubboAutoConfig功能,包括pom修改,相关配置文件,具体参看common-config工程中dubbo包下readme.txt文件

2、修改相关control_facade,配合dubboAutoConfig,主要是@Reference标注的用法
3、添加actuator功能,具体参看1的readme.txt文件
@@ -15,6 +15,11 @@ @@ -15,6 +15,11 @@
15 </parent> 15 </parent>
16 16
17 <dependencies> 17 <dependencies>
  18 + <dependency>
  19 + <groupId>org.springframework.boot</groupId>
  20 + <artifactId>spring-boot-starter-actuator</artifactId>
  21 + </dependency>
  22 +
18 <dependency> 23 <dependency>
19 <groupId>org.springframework.boot</groupId> 24 <groupId>org.springframework.boot</groupId>
20 <artifactId>spring-boot-starter-web</artifactId> 25 <artifactId>spring-boot-starter-web</artifactId>
@@ -308,6 +313,10 @@ @@ -308,6 +313,10 @@
308 <groupId>org.springframework</groupId> 313 <groupId>org.springframework</groupId>
309 <artifactId>spring</artifactId> 314 <artifactId>spring</artifactId>
310 </exclusion> 315 </exclusion>
  316 + <exclusion>
  317 + <groupId>log4j</groupId>
  318 + <artifactId>log4j</artifactId>
  319 + </exclusion>
311 </exclusions> 320 </exclusions>
312 </dependency> 321 </dependency>
313 322
@@ -344,12 +353,35 @@ @@ -344,12 +353,35 @@
344 <!--</dependency>--> 353 <!--</dependency>-->
345 <!-- dubbo 需要的jar end --> 354 <!-- dubbo 需要的jar end -->
346 355
347 - <!-- common工程依赖 --> 356 + <!-- plan common工程依赖 -->
348 <dependency> 357 <dependency>
349 <groupId>com.bsth.control_v2</groupId> 358 <groupId>com.bsth.control_v2</groupId>
350 <artifactId>plan_module-common</artifactId> 359 <artifactId>plan_module-common</artifactId>
351 <version>1.0-SNAPSHOT</version> 360 <version>1.0-SNAPSHOT</version>
352 </dependency> 361 </dependency>
  362 + <!-- plan common config 工程依赖 -->
  363 + <dependency>
  364 + <groupId>com.bsth.control_v2</groupId>
  365 + <artifactId>plan_module-common-config</artifactId>
  366 + <version>1.0-SNAPSHOT</version>
  367 + </dependency>
  368 +
  369 + <dependency>
  370 + <groupId>org.slf4j</groupId>
  371 + <artifactId>slf4j-api</artifactId>
  372 + <version>1.7.7</version>
  373 + </dependency>
  374 + <dependency>
  375 + <groupId>ch.qos.logback</groupId>
  376 + <artifactId>logback-classic</artifactId>
  377 + <version>1.1.3</version>
  378 + </dependency>
  379 + <dependency>
  380 + <groupId>org.slf4j</groupId>
  381 + <artifactId>log4j-over-slf4j</artifactId>
  382 + <version>1.7.7</version>
  383 + </dependency>
  384 +
353 </dependencies> 385 </dependencies>
354 386
355 <dependencyManagement> 387 <dependencyManagement>
src/main/java/com/bsth/common/Constants.java
@@ -21,6 +21,9 @@ public class Constants { @@ -21,6 +21,9 @@ public class Constants {
21 public static final String LOGIN_FAILURE = "/user/loginFailure"; 21 public static final String LOGIN_FAILURE = "/user/loginFailure";
22 public static final String CAPTCHA = "/captcha.jpg"; 22 public static final String CAPTCHA = "/captcha.jpg";
23 23
  24 + // springboot manage health的检测url
  25 + public static final String ACTUATOR_MANAGEMENT_HEALTH = "/manage/health";
  26 +
24 //对外的营运数据接口 27 //对外的营运数据接口
25 public static final String SERVICE_INTERFACE = "/companyService/**"; 28 public static final String SERVICE_INTERFACE = "/companyService/**";
26 29
src/main/java/com/bsth/controller/schedule/BController_facade.java
@@ -17,9 +17,8 @@ import java.util.HashMap; @@ -17,9 +17,8 @@ import java.util.HashMap;
17 import java.util.List; 17 import java.util.List;
18 import java.util.Map; 18 import java.util.Map;
19 19
20 -public class BController_facade<Id extends Serializable, DTO> {  
21 - @Autowired  
22 - private BServiceFacade<Id, DTO> bServiceFacade; 20 +public abstract class BController_facade<Id extends Serializable, DTO> {
  21 + protected abstract BServiceFacade<Id, DTO> getBServiceFacade();
23 22
24 @Autowired 23 @Autowired
25 private SysUserService sysUserService; 24 private SysUserService sysUserService;
@@ -43,7 +42,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; { @@ -43,7 +42,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; {
43 42
44 Map<String, Object> rtn = new HashMap<>(); 43 Map<String, Object> rtn = new HashMap<>();
45 try { 44 try {
46 - DTO dto_saved = bServiceFacade.save(dto); 45 + DTO dto_saved = getBServiceFacade().save(dto);
47 rtn.put("status", ResponseCode.SUCCESS); 46 rtn.put("status", ResponseCode.SUCCESS);
48 rtn.put("data", dto_saved); 47 rtn.put("data", dto_saved);
49 } catch (Exception exp) { 48 } catch (Exception exp) {
@@ -63,7 +62,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; { @@ -63,7 +62,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; {
63 62
64 Map<String, Object> rtn = new HashMap<>(); 63 Map<String, Object> rtn = new HashMap<>();
65 try { 64 try {
66 - DTO dto_updated = bServiceFacade.save(dto); 65 + DTO dto_updated = getBServiceFacade().save(dto);
67 rtn.put("status", ResponseCode.SUCCESS); 66 rtn.put("status", ResponseCode.SUCCESS);
68 rtn.put("data", dto_updated); 67 rtn.put("data", dto_updated);
69 } catch (Exception exp) { 68 } catch (Exception exp) {
@@ -79,7 +78,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; { @@ -79,7 +78,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; {
79 public Map<String, Object> findById(@PathVariable("id") Id id) { 78 public Map<String, Object> findById(@PathVariable("id") Id id) {
80 Map<String, Object> rtn = new HashMap<>(); 79 Map<String, Object> rtn = new HashMap<>();
81 try { 80 try {
82 - DTO dto = bServiceFacade.findById(id); 81 + DTO dto = getBServiceFacade().findById(id);
83 rtn.put("status", ResponseCode.SUCCESS); 82 rtn.put("status", ResponseCode.SUCCESS);
84 rtn.put("data", dto); 83 rtn.put("data", dto);
85 } catch (Exception exp) { 84 } catch (Exception exp) {
@@ -95,7 +94,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; { @@ -95,7 +94,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; {
95 public Map<String, Object> list(@RequestParam Map<String, Object> param) { 94 public Map<String, Object> list(@RequestParam Map<String, Object> param) {
96 Map<String, Object> rtn = new HashMap<>(); 95 Map<String, Object> rtn = new HashMap<>();
97 try { 96 try {
98 - List<DTO> tList = bServiceFacade.list(param); 97 + List<DTO> tList = getBServiceFacade().list(param);
99 rtn.put("status", ResponseCode.SUCCESS); 98 rtn.put("status", ResponseCode.SUCCESS);
100 rtn.put("data", tList); 99 rtn.put("data", tList);
101 } catch (Exception exp) { 100 } catch (Exception exp) {
@@ -121,7 +120,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; { @@ -121,7 +120,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; {
121 .build(); 120 .build();
122 Map<String, Object> rtn = new HashMap<>(); 121 Map<String, Object> rtn = new HashMap<>();
123 try { 122 try {
124 - rtn.put("data", bServiceFacade.list(map, pageRequestDto)); 123 + rtn.put("data", getBServiceFacade().list(map, pageRequestDto));
125 rtn.put("status", ResponseCode.SUCCESS); 124 rtn.put("status", ResponseCode.SUCCESS);
126 } catch (Exception exp) { 125 } catch (Exception exp) {
127 rtn.put("status", ResponseCode.ERROR); 126 rtn.put("status", ResponseCode.ERROR);
@@ -136,7 +135,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; { @@ -136,7 +135,7 @@ public class BController_facade&lt;Id extends Serializable, DTO&gt; {
136 Map<String, Object> rtn = new HashMap<>(); 135 Map<String, Object> rtn = new HashMap<>();
137 try { 136 try {
138 // 由于种种原因,这里不保存用户和操作时间了 137 // 由于种种原因,这里不保存用户和操作时间了
139 - bServiceFacade.delete(id); 138 + getBServiceFacade().delete(id);
140 rtn.put("status", ResponseCode.SUCCESS); 139 rtn.put("status", ResponseCode.SUCCESS);
141 } catch (Exception exp) { 140 } catch (Exception exp) {
142 rtn.put("status", ResponseCode.ERROR); 141 rtn.put("status", ResponseCode.ERROR);
src/main/java/com/bsth/controller/schedule/core/SchedulePlanController_dubbo.java
1 package com.bsth.controller.schedule.core; 1 package com.bsth.controller.schedule.core;
2 2
  3 +import com.alibaba.dubbo.config.annotation.Reference;
3 import com.bsth.common.ResponseCode; 4 import com.bsth.common.ResponseCode;
4 import com.bsth.control_v2.plan_module.common.dto.schedule.PlanDto; 5 import com.bsth.control_v2.plan_module.common.dto.schedule.PlanDto;
  6 +import com.bsth.control_v2.plan_module.common.service.BServiceFacade;
  7 +import com.bsth.control_v2.plan_module.common.service.schedule.PlanServiceFacade;
5 import com.bsth.control_v2.plan_module.common.service.schedule.validate.PlanPreValidateFacade; 8 import com.bsth.control_v2.plan_module.common.service.schedule.validate.PlanPreValidateFacade;
6 import com.bsth.controller.schedule.BController_facade; 9 import com.bsth.controller.schedule.BController_facade;
7 -import org.springframework.beans.factory.annotation.Autowired;  
8 import org.springframework.web.bind.annotation.PathVariable; 10 import org.springframework.web.bind.annotation.PathVariable;
9 import org.springframework.web.bind.annotation.RequestMapping; 11 import org.springframework.web.bind.annotation.RequestMapping;
10 import org.springframework.web.bind.annotation.RequestMethod; 12 import org.springframework.web.bind.annotation.RequestMethod;
@@ -17,8 +19,15 @@ import java.util.Map; @@ -17,8 +19,15 @@ import java.util.Map;
17 @RestController 19 @RestController
18 @RequestMapping("spc") 20 @RequestMapping("spc")
19 public class SchedulePlanController_dubbo extends BController_facade<Long, PlanDto> { 21 public class SchedulePlanController_dubbo extends BController_facade<Long, PlanDto> {
20 - @Autowired 22 +// @Reference
21 private PlanPreValidateFacade planPreValidateFacade; 23 private PlanPreValidateFacade planPreValidateFacade;
  24 + @Reference
  25 + private PlanServiceFacade planInfoServiceFacade;
  26 +
  27 + @Override
  28 + protected BServiceFacade<Long, PlanDto> getBServiceFacade() {
  29 + return planInfoServiceFacade;
  30 + }
22 31
23 // TODO:save方法独立出来 32 // TODO:save方法独立出来
24 33
src/main/java/com/bsth/controller/schedule/core/SchedulePlanInfoController_dubbo.java
1 package com.bsth.controller.schedule.core; 1 package com.bsth.controller.schedule.core;
2 2
  3 +import com.alibaba.dubbo.config.annotation.Reference;
3 import com.bsth.common.ResponseCode; 4 import com.bsth.common.ResponseCode;
4 import com.bsth.control_v2.plan_module.common.dto.schedule.PlanInfoDto; 5 import com.bsth.control_v2.plan_module.common.dto.schedule.PlanInfoDto;
5 import com.bsth.control_v2.plan_module.common.dto.sys.UserDto; 6 import com.bsth.control_v2.plan_module.common.dto.sys.UserDto;
6 import com.bsth.control_v2.plan_module.common.service.BServiceFacade; 7 import com.bsth.control_v2.plan_module.common.service.BServiceFacade;
7 import com.bsth.control_v2.plan_module.common.service.schedule.PlanInfoServiceFacade; 8 import com.bsth.control_v2.plan_module.common.service.schedule.PlanInfoServiceFacade;
8 -import com.bsth.control_v2.plan_module.common.service.schedule.PlanServiceFacade;  
9 import com.bsth.controller.schedule.BController_facade; 9 import com.bsth.controller.schedule.BController_facade;
10 -import org.springframework.beans.factory.annotation.Autowired;  
11 import org.springframework.web.bind.annotation.PathVariable; 10 import org.springframework.web.bind.annotation.PathVariable;
12 import org.springframework.web.bind.annotation.RequestMapping; 11 import org.springframework.web.bind.annotation.RequestMapping;
13 import org.springframework.web.bind.annotation.RequestMethod; 12 import org.springframework.web.bind.annotation.RequestMethod;
@@ -20,10 +19,15 @@ import java.util.Map; @@ -20,10 +19,15 @@ import java.util.Map;
20 @RestController 19 @RestController
21 @RequestMapping("spic") 20 @RequestMapping("spic")
22 public class SchedulePlanInfoController_dubbo extends BController_facade<Long, PlanInfoDto> { 21 public class SchedulePlanInfoController_dubbo extends BController_facade<Long, PlanInfoDto> {
23 - @Autowired 22 + @Reference
24 private PlanInfoServiceFacade planInfoServiceFacade; 23 private PlanInfoServiceFacade planInfoServiceFacade;
25 24
26 @Override 25 @Override
  26 + protected BServiceFacade<Long, PlanInfoDto> getBServiceFacade() {
  27 + return planInfoServiceFacade;
  28 + }
  29 +
  30 + @Override
27 public void setCreateUserInfo(PlanInfoDto planInfoDto, Integer userId, Date createDate) { 31 public void setCreateUserInfo(PlanInfoDto planInfoDto, Integer userId, Date createDate) {
28 UserDto userDto = UserDto.getBuilder() 32 UserDto userDto = UserDto.getBuilder()
29 .setId(userId) 33 .setId(userId)
src/main/java/com/bsth/filter/BaseFilter.java
@@ -16,8 +16,12 @@ public abstract class BaseFilter implements Filter { @@ -16,8 +16,12 @@ public abstract class BaseFilter implements Filter {
16 /** 16 /**
17 * 白名单 17 * 白名单
18 */ 18 */
19 - private String[] whiteListURLs = { Constants.LOGIN_PAGE,Constants.CAPTCHA, Constants.SERVICE_INTERFACE,  
20 - Constants.ASSETS_URL, Constants.FAVICON_URL, Constants.METRONIC_URL, Constants.LOGIN, Constants.LOGIN_FAILURE, Constants.UPSTREAM_URL, Constants.XD_CHILD_PAGES, Constants.XD_REAL_GPS, Constants.UP_RFID_URL, Constants.STATION_AND_SECTION_COUNT }; 19 + private String[] whiteListURLs = {
  20 + Constants.LOGIN_PAGE,Constants.CAPTCHA, Constants.SERVICE_INTERFACE,
  21 + Constants.ASSETS_URL, Constants.FAVICON_URL, Constants.METRONIC_URL,
  22 + Constants.LOGIN, Constants.LOGIN_FAILURE, Constants.UPSTREAM_URL,
  23 + Constants.XD_CHILD_PAGES, Constants.XD_REAL_GPS, Constants.UP_RFID_URL,
  24 + Constants.STATION_AND_SECTION_COUNT, Constants.ACTUATOR_MANAGEMENT_HEALTH };
21 25
22 @Override 26 @Override
23 public void destroy() { 27 public void destroy() {
src/main/java/com/bsth/service/schedule/dubbo/DubboConfig.java deleted 100644 → 0
1 -package com.bsth.service.schedule.dubbo;  
2 -  
3 -import org.springframework.context.annotation.Configuration;  
4 -import org.springframework.context.annotation.ImportResource;  
5 -  
6 -/**  
7 - * Dubbo消费者配置。  
8 - */  
9 -@Configuration  
10 -@ImportResource({"classpath:dubbo/applicationContext_dubbo_consumer.xml"})  
11 -public class DubboConfig {  
12 -  
13 -}  
src/main/resources/application-dev.properties
1 server.port=9088 1 server.port=9088
2 -management.port= 9001  
3 -management.address= 127.0.0.1 2 +#management.port= 9001
  3 +#management.address= 127.0.0.1
  4 +management.security.enabled=false
  5 +management.context-path=/manage
  6 +dubbo.use=false
4 7
5 spring.jpa.hibernate.ddl-auto= none 8 spring.jpa.hibernate.ddl-auto= none
6 spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy 9 spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
src/main/resources/dubbo/applicationContext_dubbo_consumer.xml
@@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
10 10
11 <!-- 使用zookeeper注册中心暴露服务地址 --> 11 <!-- 使用zookeeper注册中心暴露服务地址 -->
12 <!-- 注册中心地址 --> 12 <!-- 注册中心地址 -->
13 - <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" /> 13 + <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" check="false" />
14 14
15 <!-- 计划排班服务接口 --> 15 <!-- 计划排班服务接口 -->
16 <dubbo:reference interface="com.bsth.control_v2.plan_module.common.service.schedule.PlanServiceFacade" id="planServiceFacadeImpl" check="false" /> 16 <dubbo:reference interface="com.bsth.control_v2.plan_module.common.service.schedule.PlanServiceFacade" id="planServiceFacadeImpl" check="false" />
src/main/resources/dubbo/config-dev.properties 0 → 100644
  1 +# application名字
  2 +spring.dubbo.application.name=bsth_control_v2
  3 +# zookeeper注册中心地址
  4 +spring.dubbo.registry=zookeeper://127.0.0.1:2181
  5 +
  6 +#----------- dubbo:consumer 性能调优选项 -------------#
  7 +# 远程服务调用超时时间,单位毫秒,这里设置30分钟
  8 +spring.dubbo.consumer.timeout=1800000
  9 +# 远程服务调用重试次数,0表示不需要重试
  10 +spring.dubbo.consumer.retries=0
  11 +#----------- dubbo:consumer 服务治理选项 -------------#
  12 +# 启动不检查提供者是否存在
  13 +spring.dubbo.consumer.check=false
0 \ No newline at end of file 14 \ No newline at end of file
src/main/resources/dubbo/config-prod.properties 0 → 100644