作者 朱兆平

spring boot admin 应用监控 & zipkin 调用链监控

springboot与cloud版本适配优化
@@ -74,5 +74,5 @@ Class-Path: connector.jar druid-spring-boot-starter-1.1.9.jar spring-b @@ -74,5 +74,5 @@ Class-Path: connector.jar druid-spring-boot-starter-1.1.9.jar spring-b
74 .0.BUILD-20190114.050029-1386.jar jersey-client-1.19.1.jar joda-time- 74 .0.BUILD-20190114.050029-1386.jar jersey-client-1.19.1.jar joda-time-
75 2.10.1.jar com.ibm.mq.jmqi.jar eureka-client-1.9.8.jar compactmap-1.2 75 2.10.1.jar com.ibm.mq.jmqi.jar eureka-client-1.9.8.jar compactmap-1.2
76 .1.jar spring-core-5.1.4.RELEASE.jar spring-beans-5.1.4.RELEASE.jar 76 .1.jar spring-core-5.1.4.RELEASE.jar spring-beans-5.1.4.RELEASE.jar
77 -Main-Class: com.tianbo.warehouse.WarehouseApplication 77 +Main-Class: com.tianbo.warehouse.BootApplication
78 78
@@ -6,18 +6,28 @@ server: @@ -6,18 +6,28 @@ server:
6 servlet: 6 servlet:
7 context-path: ${SERVER_CONTEXTPATH:} 7 context-path: ${SERVER_CONTEXTPATH:}
8 spring: 8 spring:
  9 + devtools:
  10 + add-properties: false
9 profiles: 11 profiles:
10 active: dev 12 active: dev
11 mvc: 13 mvc:
12 #静态资源,设置上传文件的访问, 14 #静态资源,设置上传文件的访问,
13 static-path-pattern: /** 15 static-path-pattern: /**
14 -  
15 - 16 + boot:
  17 + admin:
  18 + client:
  19 + url: http://192.168.1.63:16666
  20 + password: vmvnv1v2
  21 + zipkin:
  22 + base-url: http://192.168.1.63:9411
  23 + sleuth:
  24 + sampler:
  25 + probability: 0.1
16 resources: 26 resources:
17 static-locations: classpath:/META-INF/resources/,classpath:/static,classpath:/resources/,file:${web.upload-path} 27 static-locations: classpath:/META-INF/resources/,classpath:/static,classpath:/resources/,file:${web.upload-path}
18 28
19 application: 29 application:
20 - name: hqpt-user-center 30 + name: cloud-user-centerV2
21 redis: 31 redis:
22 host: 192.168.1.53 32 host: 192.168.1.53
23 # host: 192.168.43.78 33 # host: 192.168.43.78
@@ -54,11 +64,7 @@ spring: @@ -54,11 +64,7 @@ spring:
54 url: jdbc:mysql://118.31.66.166:3306/HQPT_USER?useUnicode=true&characterEncoding=utf8 64 url: jdbc:mysql://118.31.66.166:3306/HQPT_USER?useUnicode=true&characterEncoding=utf8
55 username: 110 65 username: 110
56 password: QAHqCJf2kFYCLirM 66 password: QAHqCJf2kFYCLirM
57 - driver-class-name: com.mysql.jdbc.Driver  
58 - max-idle: 10  
59 - max-wait: 10000  
60 - min-idle: 5  
61 - initial-size: 5 67 + driver-class-name: com.mysql.cj.jdbc.Driver
62 #配置初始化大小/最小/最大 68 #配置初始化大小/最小/最大
63 druid: 69 druid:
64 initial-size: 1 70 initial-size: 1
@@ -78,6 +84,11 @@ spring: @@ -78,6 +84,11 @@ spring:
78 test-on-borrow: false 84 test-on-borrow: false
79 test-on-return: false 85 test-on-return: false
80 default-auto-commit: true 86 default-auto-commit: true
  87 +# tomcat:
  88 +# max-wait: 10
  89 +# max-idle: 10000
  90 +# min-idle: 5
  91 +# initial-size: 5
81 92
82 eureka: 93 eureka:
83 instance: 94 instance:
@@ -86,17 +97,29 @@ eureka: @@ -86,17 +97,29 @@ eureka:
86 prefer-ip-address: true 97 prefer-ip-address: true
87 instance-id: ${spring.cloud.client.ip-address}:${server.port} 98 instance-id: ${spring.cloud.client.ip-address}:${server.port}
88 hostname: ${spring.cloud.client.ip-address} 99 hostname: ${spring.cloud.client.ip-address}
  100 + lease-renewal-interval-in-seconds: 15
  101 + lease-expiration-duration-in-seconds: 45
89 client: 102 client:
90 #eureka注册中心服务器地址 103 #eureka注册中心服务器地址
91 service-url: 104 service-url:
  105 +# defaultZone: http://127.0.0.1:12345/eureka/
92 defaultZone: http://192.168.1.53:12345/eureka/ 106 defaultZone: http://192.168.1.53:12345/eureka/
93 -# defaultZone: http://192.168.43.78:12345/eureka/  
94 registry-fetch-interval-seconds: 30 107 registry-fetch-interval-seconds: 30
95 - lease-renewal-interval-in-seconds: 15  
96 - lease-expiration-duration-in-seconds: 45  
97 108
98 109
99 110
  111 +management:
  112 + endpoints:
  113 + enabled-by-default: true
  114 + web:
  115 + exposure:
  116 + include: ["*"]
  117 + endpoint:
  118 + health:
  119 + show-details: always
  120 + shutdown:
  121 + enabled: true
  122 +
100 mybatis: 123 mybatis:
101 mapper-locations: classpath:mapping/*.xml 124 mapper-locations: classpath:mapping/*.xml
102 type-aliases-package: com.tianbo.warehouse.model 125 type-aliases-package: com.tianbo.warehouse.model
@@ -25,7 +25,7 @@ @@ -25,7 +25,7 @@
25 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> 25 <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
26 <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息--> 26 <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
27 <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> 27 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
28 - <level>trace</level> 28 + <level>INFO</level>
29 </filter> 29 </filter>
30 <encoder> 30 <encoder>
31 <Pattern>${CONSOLE_LOG_PATTERN}</Pattern> 31 <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
  1 +FROM java:8u111
  2 +
  3 +VOLUME /tmp
  4 +
  5 +ADD /target/warehouse-0.0.1-SNAPSHOT.jar app.jar
  6 +
  7 +EXPOSE 8002
  8 +
  9 +ENTRYPOINT ["java","-jar","/app.jar"]
  10 +
  11 +# Ubuntu 时区
  12 +RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 <parent> 6 <parent>
7 <groupId>org.springframework.boot</groupId> 7 <groupId>org.springframework.boot</groupId>
8 <artifactId>spring-boot-starter-parent</artifactId> 8 <artifactId>spring-boot-starter-parent</artifactId>
9 - <version>2.2.0.BUILD-SNAPSHOT</version> 9 + <version>2.1.9.RELEASE</version>
10 <relativePath/> <!-- lookup parent from repository --> 10 <relativePath/> <!-- lookup parent from repository -->
11 </parent> 11 </parent>
12 <groupId>com.tianbo</groupId> 12 <groupId>com.tianbo</groupId>
@@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@
17 17
18 <properties> 18 <properties>
19 <java.version>1.8</java.version> 19 <java.version>1.8</java.version>
20 - <spring-cloud.version>Greenwich.BUILD-SNAPSHOT</spring-cloud.version> 20 + <spring-cloud.version>Greenwich.SR3</spring-cloud.version>
21 <fastjson_version>1.2.28</fastjson_version> 21 <fastjson_version>1.2.28</fastjson_version>
22 <lombok_sersion>1.18.6</lombok_sersion> 22 <lombok_sersion>1.18.6</lombok_sersion>
23 <swagger2_version>2.9.2</swagger2_version> 23 <swagger2_version>2.9.2</swagger2_version>
@@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
38 <!--<groupId>org.springframework.boot</groupId>--> 38 <!--<groupId>org.springframework.boot</groupId>-->
39 <!--<artifactId>spring-boot-devtools</artifactId>--> 39 <!--<artifactId>spring-boot-devtools</artifactId>-->
40 <!--<optional>true</optional>--> 40 <!--<optional>true</optional>-->
  41 + <!--<scope>runtime</scope>-->
41 <!--</dependency>--> 42 <!--</dependency>-->
42 <!--有WEBSOCKET包 包含了spring-boot-starter-web 和spring-boot-starter包 有这个包不要引入这俩包--> 43 <!--有WEBSOCKET包 包含了spring-boot-starter-web 和spring-boot-starter包 有这个包不要引入这俩包-->
43 <dependency> 44 <dependency>
@@ -59,10 +60,10 @@ @@ -59,10 +60,10 @@
59 <artifactId>spring-boot-configuration-processor</artifactId> 60 <artifactId>spring-boot-configuration-processor</artifactId>
60 <optional>true</optional> 61 <optional>true</optional>
61 </dependency> 62 </dependency>
62 - <!--<dependency>-->  
63 - <!--<groupId>org.springframework.boot</groupId>-->  
64 - <!--<artifactId>spring-boot-starter-thymeleaf</artifactId>-->  
65 - <!--</dependency>--> 63 + <dependency>
  64 + <groupId>org.springframework.boot</groupId>
  65 + <artifactId>spring-boot-starter-thymeleaf</artifactId>
  66 + </dependency>
66 <dependency> 67 <dependency>
67 <groupId>io.jsonwebtoken</groupId> 68 <groupId>io.jsonwebtoken</groupId>
68 <artifactId>jjwt</artifactId> 69 <artifactId>jjwt</artifactId>
@@ -204,6 +205,20 @@ @@ -204,6 +205,20 @@
204 <groupId>org.springframework.boot</groupId> 205 <groupId>org.springframework.boot</groupId>
205 <artifactId>spring-boot-starter-data-redis</artifactId> 206 <artifactId>spring-boot-starter-data-redis</artifactId>
206 </dependency> 207 </dependency>
  208 + <dependency>
  209 + <groupId>org.springframework.cloud</groupId>
  210 + <artifactId>spring-cloud-starter-zipkin</artifactId>
  211 + </dependency>
  212 +
  213 + <dependency>
  214 + <groupId>de.codecentric</groupId>
  215 + <artifactId>spring-boot-admin-starter-client</artifactId>
  216 + <version>2.1.6</version>
  217 + </dependency>
  218 + <dependency>
  219 + <groupId>org.springframework.boot</groupId>
  220 + <artifactId>spring-boot-starter-actuator</artifactId>
  221 + </dependency>
207 222
208 </dependencies> 223 </dependencies>
209 224
@@ -226,6 +241,7 @@ @@ -226,6 +241,7 @@
226 <artifactId>spring-boot-maven-plugin</artifactId> 241 <artifactId>spring-boot-maven-plugin</artifactId>
227 <configuration> 242 <configuration>
228 <includeSystemScope>true</includeSystemScope> 243 <includeSystemScope>true</includeSystemScope>
  244 + <fork>true</fork>
229 </configuration> 245 </configuration>
230 </plugin> 246 </plugin>
231 <!-- mybatis generator 自动生成代码插件 --> 247 <!-- mybatis generator 自动生成代码插件 -->
@@ -239,6 +255,23 @@ @@ -239,6 +255,23 @@
239 <verbose>true</verbose> 255 <verbose>true</verbose>
240 </configuration> 256 </configuration>
241 </plugin> 257 </plugin>
  258 + <plugin>
  259 + <artifactId>maven-antrun-plugin</artifactId>
  260 + <executions>
  261 + <execution>
  262 + <id>gen-webadmin</id>
  263 + <phase>package</phase>
  264 + <configuration>
  265 + <tasks>
  266 + <copy todir="docker" file="target/${project.artifactId}-${project.version}.${project.packaging}" />
  267 + </tasks>
  268 + </configuration>
  269 + <goals>
  270 + <goal>run</goal>
  271 + </goals>
  272 + </execution>
  273 + </executions>
  274 + </plugin>
242 </plugins> 275 </plugins>
243 </build> 276 </build>
244 277
@@ -26,6 +26,8 @@ @@ -26,6 +26,8 @@
26 * 前后端完全分离 26 * 前后端完全分离
27 * 前端登录验证后,每次访问系统通过在头部携带带有JWT token的Authorization:Bearer "Tokens字符窜"访问系统 27 * 前端登录验证后,每次访问系统通过在头部携带带有JWT token的Authorization:Bearer "Tokens字符窜"访问系统
28 * 相关集成资料 [SpringBoot使用SpringSecurity搭建基于非对称加密的JWT及前后端分离的搭建](https://blog.csdn.net/lhc0512/article/details/80563160) 28 * 相关集成资料 [SpringBoot使用SpringSecurity搭建基于非对称加密的JWT及前后端分离的搭建](https://blog.csdn.net/lhc0512/article/details/80563160)
  29 +* 集成spring cloud gateway
  30 + * 路由识别及访问权限放在gateway里面处理
29 * 已集成mybatis、mybatisGenerator、pageHelper 31 * 已集成mybatis、mybatisGenerator、pageHelper
30 * 集成定时任务框架 32 * 集成定时任务框架
31 * 目前在IMF框架中使用,打开IMF_Task里面的定时任务注释就可以启动IMF客户端功能 33 * 目前在IMF框架中使用,打开IMF_Task里面的定时任务注释就可以启动IMF客户端功能
@@ -35,3 +37,5 @@ @@ -35,3 +37,5 @@
35 ) 37 )
36 * 集成了单文件、多文件上传接口 38 * 集成了单文件、多文件上传接口
37 * 集成了swagger2,开发环境开启此POM配置,生产环境记得去掉。包冲突问题看POM配置文件注释。[接口访问测试地址](http://localhost:7003/swagger-ui.html) 39 * 集成了swagger2,开发环境开启此POM配置,生产环境记得去掉。包冲突问题看POM配置文件注释。[接口访问测试地址](http://localhost:7003/swagger-ui.html)
  40 +* 集成spring boot admin 应用监控 & zipkin 调用链监控
  41 +
  1 +Manifest-Version: 1.0
  2 +Class-Path: thymeleaf-extras-java8time-3.0.4.RELEASE.jar springfox-swa
  3 + gger-common-2.9.2.jar commons-math-2.2.jar attoparser-2.0.5.RELEASE.j
  4 + ar spring-cloud-netflix-eureka-client-2.1.5.BUILD-20191219.032215-243
  5 + .jar netty-buffer-4.1.42.Final.jar bcpkix-jdk15on-1.64.jar aspectjwea
  6 + ver-1.9.4.jar spring-cloud-starter-netflix-eureka-client-2.1.5.BUILD-
  7 + 20191219.032239-243.jar logback-core-1.2.3.jar slf4j-api-1.7.28.jar s
  8 + pring-context-5.2.0.RELEASE.jar mybatis-3.4.6.jar classmate-1.5.0.jar
  9 + jackson-datatype-jsr310-2.10.0.jar spring-security-crypto-5.2.0.RELE
  10 + ASE.jar mapstruct-1.2.0.Final.jar antlr-2.7.7.jar jboss-logging-3.4.1
  11 + .Final.jar springfox-schema-2.9.2.jar spring-aop-5.2.0.RELEASE.jar sp
  12 + ring-plugin-core-1.2.0.RELEASE.jar tomcat-embed-core-9.0.27.jar thyme
  13 + leaf-spring5-3.0.11.RELEASE.jar spring-jcl-5.2.0.RELEASE.jar HikariCP
  14 + -3.4.1.jar jersey-core-1.19.1.jar commons-jxpath-1.3.jar spring-boot-
  15 + starter-validation-2.2.0.BUILD-20191016.163457-711.jar jettison-1.3.7
  16 + .jar spring-boot-starter-tomcat-2.2.0.BUILD-20191016.163456-712.jar g
  17 + uice-4.1.0.jar commons-codec-1.11.jar jackson-module-parameter-names-
  18 + 2.10.0.jar lettuce-core-5.2.0.RELEASE.jar spring-websocket-5.2.0.RELE
  19 + ASE.jar spring-data-keyvalue-2.2.0.RELEASE.jar spring-boot-starter-2.
  20 + 2.0.BUILD-20191016.163501-711.jar netflix-commons-util-0.3.0.jar xmlp
  21 + ull-1.1.3.1.jar stax-api-1.0.1.jar netty-codec-4.1.42.Final.jar druid
  22 + -1.1.9.jar spring-oxm-5.2.0.RELEASE.jar jsr311-api-1.1.1.jar spring-b
  23 + oot-starter-thymeleaf-2.2.0.BUILD-20191016.163455-712.jar ribbon-tran
  24 + sport-2.3.0.jar commons-lang-2.6.jar commons-io-2.6.jar spring-data-c
  25 + ommons-2.2.0.RELEASE.jar jackson-annotations-2.10.0.jar logback-class
  26 + ic-1.2.3.jar pagehelper-spring-boot-autoconfigure-1.2.5.jar dom4j-2.1
  27 + .0.jar servo-core-0.12.21.jar springfox-core-2.9.2.jar mysql-connecto
  28 + r-java-8.0.18.jar log4j-to-slf4j-2.12.1.jar ribbon-loadbalancer-2.3.0
  29 + .jar spring-cloud-starter-netflix-archaius-2.1.5.BUILD-20191219.03222
  30 + 9-243.jar jsqlparser-1.0.jar netty-handler-4.1.42.Final.jar antlr-run
  31 + time-3.4.jar springfox-swagger-ui-2.9.2.jar mybatis-spring-boot-start
  32 + er-1.3.2.jar pagehelper-5.1.4.jar tomcat-embed-websocket-9.0.27.jar s
  33 + pring-boot-starter-json-2.2.0.BUILD-20191016.163444-713.jar jackson-c
  34 + ore-2.10.0.jar bcprov-jdk15on-1.64.jar springfox-spi-2.9.2.jar mybati
  35 + s-spring-1.3.2.jar netflix-infix-0.3.0.jar reactor-core-3.3.0.RELEASE
  36 + .jar snakeyaml-1.25.jar jakarta.validation-api-2.0.1.jar spring-secur
  37 + ity-core-5.2.0.RELEASE.jar spring-security-config-5.2.0.RELEASE.jar c
  38 + ommons-collections-3.2.2.jar jackson-databind-2.10.0.jar ribbon-core-
  39 + 2.3.0.jar spring-boot-starter-websocket-2.2.0.BUILD-20191016.163500-7
  40 + 11.jar eureka-core-1.9.13.jar eureka-client-1.9.13.jar netty-common-4
  41 + .1.42.Final.jar rxnetty-servo-0.4.9.jar unbescape-1.1.6.RELEASE.jar r
  42 + xjava-1.3.8.jar gson-2.8.6.jar mybatis-spring-boot-autoconfigure-1.3.
  43 + 2.jar druid-spring-boot-starter-1.1.9.jar ribbon-eureka-2.3.0.jar spr
  44 + ing-boot-starter-data-redis-2.2.0.BUILD-20191016.163436-713.jar sprin
  45 + g-cloud-commons-2.1.5.BUILD-20191219.033001-243.jar spring-boot-confi
  46 + guration-processor-2.2.0.BUILD-20191016.163408-713.jar spring-cloud-c
  47 + ontext-2.1.5.BUILD-20191219.032901-243.jar spring-boot-starter-jdbc-2
  48 + .2.0.BUILD-20191016.163441-713.jar httpcore-4.4.12.jar commons-config
  49 + uration-1.8.jar xpp3_min-1.1.4c.jar spring-plugin-metadata-1.2.0.RELE
  50 + ASE.jar jackson-datatype-jdk8-2.10.0.jar reactive-streams-1.0.3.jar j
  51 + ersey-apache-client4-1.19.1.jar httpclient-4.5.10.jar spring-cloud-ne
  52 + tflix-ribbon-2.1.5.BUILD-20191219.031914-243.jar spring-boot-autoconf
  53 + igure-2.2.0.BUILD-20191016.163400-713.jar HdrHistogram-2.1.9.jar spri
  54 + ng-security-rsa-1.0.9.RELEASE.jar jjwt-0.7.0.jar spring-core-5.2.0.RE
  55 + LEASE.jar netflix-eventbus-0.3.0.jar spring-cloud-starter-netflix-rib
  56 + bon-2.1.5.BUILD-20191219.032234-243.jar spring-cloud-netflix-archaius
  57 + -2.1.5.BUILD-20191219.031847-243.jar spring-context-support-5.2.0.REL
  58 + EASE.jar spring-boot-starter-logging-2.2.0.BUILD-20191016.163447-713.
  59 + jar hystrix-core-1.5.18.jar ojdbc6-11.2.0.4.0-atlassian-hosted.jar sp
  60 + ring-boot-starter-web-2.2.0.BUILD-20191016.163459-711.jar spring-clou
  61 + d-netflix-hystrix-2.1.5.BUILD-20191219.031954-243.jar stax2-api-4.2.j
  62 + ar pagehelper-spring-boot-starter-1.2.5.jar stringtemplate-3.2.1.jar
  63 + spring-expression-5.2.0.RELEASE.jar javax.inject-1.jar spring-cloud-s
  64 + tarter-2.1.5.BUILD-20191219.033020-243.jar spring-boot-starter-aop-2.
  65 + 2.0.BUILD-20191016.163422-713.jar spring-messaging-5.2.0.RELEASE.jar
  66 + spring-security-web-5.2.0.RELEASE.jar spring-web-5.2.0.RELEASE.jar je
  67 + rsey-client-1.19.1.jar netty-transport-4.1.42.Final.jar ribbon-2.3.0.
  68 + jar woodstox-core-5.2.1.jar springfox-swagger2-2.9.2.jar xstream-1.4.
  69 + 11.1.jar guava-20.0.jar hibernate-validator-6.0.17.Final.jar jakarta.
  70 + annotation-api-1.3.5.jar aopalliance-1.0.jar jaxen-1.2.0.jar jul-to-s
  71 + lf4j-1.7.28.jar spring-tx-5.2.0.RELEASE.jar spring-webmvc-5.2.0.RELEA
  72 + SE.jar byte-buddy-1.10.1.jar fastjson-1.2.28.jar swagger-annotations-
  73 + 1.5.20.jar thymeleaf-3.0.11.RELEASE.jar log4j-api-2.12.1.jar spring-b
  74 + eans-5.2.0.RELEASE.jar tomcat-embed-el-9.0.27.jar rxnetty-0.4.9.jar r
  75 + ibbon-httpclient-2.3.0.jar springfox-spring-web-2.9.2.jar archaius-co
  76 + re-0.7.6.jar swagger-models-1.5.20.jar spring-boot-2.2.0.BUILD-201910
  77 + 16.163506-711.jar spring-data-redis-2.2.0.RELEASE.jar spring-jdbc-5.2
  78 + .0.RELEASE.jar spring-boot-starter-security-2.2.0.BUILD-20191016.1634
  79 + 54-713.jar netty-resolver-4.1.42.Final.jar rxnetty-contexts-0.4.9.jar
  80 + joda-time-2.10.4.jar netflix-statistics-0.1.1.jar
  81 +Main-Class: com.tianbo.warehouse.WarehouseApplication
  82 +
@@ -5,6 +5,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties; @@ -5,6 +5,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
5 import org.springframework.stereotype.Component; 5 import org.springframework.stereotype.Component;
6 6
7 @ConfigurationProperties(prefix = "tianbo.security") 7 @ConfigurationProperties(prefix = "tianbo.security")
  8 +@Component
8 public class SecurityProperties { 9 public class SecurityProperties {
9 10
10 /** 11 /**
@@ -42,6 +42,7 @@ public class MyAuthenticationSuccessHandler extends SavedRequestAwareAuthenticat @@ -42,6 +42,7 @@ public class MyAuthenticationSuccessHandler extends SavedRequestAwareAuthenticat
42 42
43 @Autowired 43 @Autowired
44 private PermissionService permissionService; 44 private PermissionService permissionService;
  45 +
45 private RequestCache requestCache = new HttpSessionRequestCache(); 46 private RequestCache requestCache = new HttpSessionRequestCache();
46 47
47 @Autowired 48 @Autowired
1 package com.tianbo.warehouse.util; 1 package com.tianbo.warehouse.util;
2 import org.springframework.beans.factory.annotation.Autowired; 2 import org.springframework.beans.factory.annotation.Autowired;
  3 +import org.springframework.boot.actuate.health.CompositeHealthIndicator;
3 import org.springframework.data.redis.core.BoundListOperations; 4 import org.springframework.data.redis.core.BoundListOperations;
4 import org.springframework.data.redis.core.StringRedisTemplate; 5 import org.springframework.data.redis.core.StringRedisTemplate;
5 import org.springframework.stereotype.Component; 6 import org.springframework.stereotype.Component;
@@ -7,7 +7,6 @@ import org.springframework.test.context.junit4.SpringRunner; @@ -7,7 +7,6 @@ import org.springframework.test.context.junit4.SpringRunner;
7 import org.springframework.test.context.web.WebAppConfiguration; 7 import org.springframework.test.context.web.WebAppConfiguration;
8 8
9 @RunWith(SpringRunner.class) 9 @RunWith(SpringRunner.class)
10 -@WebAppConfiguration  
11 //解决mvn clean package打包项目websocketjavax.websocket.server.ServerContainer not available报错的问题 10 //解决mvn clean package打包项目websocketjavax.websocket.server.ServerContainer not available报错的问题
12 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 11 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
13 public class WarehouseApplicationTests { 12 public class WarehouseApplicationTests {