Commit 5008ebdf22f4c2dfec7aced08b99a883fc6e408c

Authored by zhangdaiscott
1 parent 5aab4c85

删除jeecg-cloud-example例子模块,测试示例重构到jeecg-cloud-system-start中

Showing 27 changed files with 204 additions and 526 deletions
jeecg-boot/jeecg-boot-module-demo/src/main/java/org/jeecg/modules/demo/cloud/controller/JcloudDemoController.java 0 → 100644
  1 +//package org.jeecg.modules.demo.cloud.controller;
  2 +//
  3 +//import io.swagger.annotations.Api;
  4 +//import io.swagger.annotations.ApiOperation;
  5 +//import lombok.extern.slf4j.Slf4j;
  6 +//import org.jeecg.common.api.vo.Result;
  7 +//import org.jeecg.common.system.api.ISysBaseAPI;
  8 +//import org.jeecg.common.system.vo.DictModel;
  9 +//import org.springframework.web.bind.annotation.GetMapping;
  10 +//import org.springframework.web.bind.annotation.RequestMapping;
  11 +//import org.springframework.web.bind.annotation.RestController;
  12 +//
  13 +//import javax.annotation.Resource;
  14 +//import java.util.List;
  15 +//
  16 +///**
  17 +// *
  18 +// */
  19 +//@Slf4j
  20 +//@Api(tags = "Cloud示例")
  21 +//@RestController
  22 +//@RequestMapping("/test")
  23 +//public class JcloudDemoController {
  24 +//
  25 +//
  26 +// @Resource
  27 +// private ISysBaseAPI sysBaseAPI;
  28 +//
  29 +// /**
  30 +// * 测试
  31 +// *
  32 +// * @return
  33 +// */
  34 +// @GetMapping("/remote")
  35 +// @ApiOperation(value = "测试feign", notes = "测试feign")
  36 +// public Result remoteDict() {
  37 +//// try{
  38 +//// //睡5秒,网关Hystrix3秒超时,会触发熔断降级操作
  39 +//// Thread.sleep(5000);
  40 +//// }catch (Exception e){
  41 +//// e.printStackTrace();
  42 +//// }
  43 +// List<DictModel> list = sysBaseAPI.queryAllDict();
  44 +// return Result.OK(list);
  45 +// }
  46 +//
  47 +//
  48 +//}
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/java/org/jeecg/cloud/demo/test/provider/JeecgDemoProvider.java renamed to jeecg-boot/jeecg-boot-module-demo/src/main/java/org/jeecg/modules/demo/cloud/provider/JcloudDemoProvider.java
1 -package org.jeecg.cloud.demo.test.provider; 1 +package org.jeecg.modules.demo.cloud.provider;
2 2
3 -import org.jeecg.cloud.demo.test.service.JeecgDemoService;  
4 import org.jeecg.common.api.vo.Result; 3 import org.jeecg.common.api.vo.Result;
  4 +import org.jeecg.modules.demo.cloud.service.JcloudDemoService;
5 import org.springframework.web.bind.annotation.GetMapping; 5 import org.springframework.web.bind.annotation.GetMapping;
6 import org.springframework.web.bind.annotation.RequestMapping; 6 import org.springframework.web.bind.annotation.RequestMapping;
7 import org.springframework.web.bind.annotation.RequestParam; 7 import org.springframework.web.bind.annotation.RequestParam;
@@ -14,14 +14,14 @@ import javax.annotation.Resource; @@ -14,14 +14,14 @@ import javax.annotation.Resource;
14 */ 14 */
15 @RestController 15 @RestController
16 @RequestMapping("/test") 16 @RequestMapping("/test")
17 -public class JeecgDemoProvider { 17 +public class JcloudDemoProvider {
18 18
19 @Resource 19 @Resource
20 - private JeecgDemoService jeecgDemoService; 20 + private JcloudDemoService jcloudDemoService;
21 21
22 @GetMapping("/getMessage") 22 @GetMapping("/getMessage")
23 public Result<String> getMessage(@RequestParam String name) { 23 public Result<String> getMessage(@RequestParam String name) {
24 - return jeecgDemoService.getMessage(name); 24 + return jcloudDemoService.getMessage(name);
25 } 25 }
26 26
27 } 27 }
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/java/org/jeecg/cloud/demo/test/service/JeecgDemoService.java renamed to jeecg-boot/jeecg-boot-module-demo/src/main/java/org/jeecg/modules/demo/cloud/service/JcloudDemoService.java
1 -package org.jeecg.cloud.demo.test.service; 1 +package org.jeecg.modules.demo.cloud.service;
2 2
3 import org.jeecg.common.api.vo.Result; 3 import org.jeecg.common.api.vo.Result;
4 4
5 -public interface JeecgDemoService { 5 +public interface JcloudDemoService {
6 Result<String> getMessage(String name); 6 Result<String> getMessage(String name);
7 } 7 }
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/java/org/jeecg/cloud/demo/test/service/impl/JeecgDemoServiceImpl.java renamed to jeecg-boot/jeecg-boot-module-demo/src/main/java/org/jeecg/modules/demo/cloud/service/impl/JcloudDemoServiceImpl.java
1 -package org.jeecg.cloud.demo.test.service.impl; 1 +package org.jeecg.modules.demo.cloud.service.impl;
2 2
3 -import org.jeecg.cloud.demo.test.service.JeecgDemoService;  
4 import org.jeecg.common.api.vo.Result; 3 import org.jeecg.common.api.vo.Result;
  4 +import org.jeecg.modules.demo.cloud.service.JcloudDemoService;
5 import org.springframework.stereotype.Service; 5 import org.springframework.stereotype.Service;
6 6
7 @Service 7 @Service
8 -public class JeecgDemoServiceImpl implements JeecgDemoService { 8 +public class JcloudDemoServiceImpl implements JcloudDemoService {
9 @Override 9 @Override
10 public Result<String> getMessage(String name) { 10 public Result<String> getMessage(String name) {
11 - return Result.OK("Hello" + name); 11 + return Result.OK("Hello" + name);
12 } 12 }
13 } 13 }
jeecg-boot/jeecg-boot-module-demo/src/main/java/org/jeecg/modules/demo/handler/DemoJobHandler.java deleted
1 -//  
2 -//package org.jeecg.modules.demo.handler;  
3 -//  
4 -//  
5 -//import com.xxl.job.core.biz.model.ReturnT;  
6 -//import com.xxl.job.core.handler.IJobHandler;  
7 -//import com.xxl.job.core.handler.annotation.XxlJob;  
8 -//import com.xxl.job.core.log.XxlJobLogger;  
9 -//import com.xxl.job.core.util.ShardingUtil;  
10 -//import lombok.extern.slf4j.Slf4j;  
11 -//import org.springframework.stereotype.Component;  
12 -//  
13 -//import java.io.BufferedInputStream;  
14 -//import java.io.BufferedReader;  
15 -//import java.io.DataOutputStream;  
16 -//import java.io.InputStreamReader;  
17 -//import java.net.HttpURLConnection;  
18 -//import java.net.URL;  
19 -//import java.util.Arrays;  
20 -//  
21 -//  
22 -///**  
23 -// * xxl-job定时任务测试  
24 -// */  
25 -//@Component  
26 -//@Slf4j  
27 -//public class DemoJobHandler {  
28 -//  
29 -//  
30 -// /**  
31 -// * 简单任务  
32 -// *  
33 -// * @param params  
34 -// * @return  
35 -// */  
36 -//  
37 -// @XxlJob(value = "demoJob")  
38 -// public ReturnT<String> demoJobHandler(String params) {  
39 -// log.info("我是定时任务,我执行了...............................");  
40 -// return ReturnT.SUCCESS;  
41 -// }  
42 -//  
43 -// /**  
44 -// * 2、分片广播任务  
45 -// */  
46 -//  
47 -// @XxlJob("shardingJobHandler")  
48 -// public ReturnT<String> shardingJobHandler(String param) throws Exception {  
49 -//  
50 -// // 分片参数  
51 -// ShardingUtil.ShardingVO shardingVO = ShardingUtil.getShardingVo();  
52 -// XxlJobLogger.log("分片参数:当前分片序号 = {}, 总分片数 = {}", shardingVO.getIndex(), shardingVO.getTotal());  
53 -//  
54 -// // 业务逻辑  
55 -// for (int i = 0; i < shardingVO.getTotal(); i++) {  
56 -// if (i == shardingVO.getIndex()) {  
57 -// XxlJobLogger.log("第 {} 片, 命中分片开始处理", i);  
58 -// } else {  
59 -// XxlJobLogger.log("第 {} 片, 忽略", i);  
60 -// }  
61 -// }  
62 -//  
63 -// return ReturnT.SUCCESS;  
64 -// }  
65 -//  
66 -//  
67 -// /**  
68 -// * 3、命令行任务  
69 -// */  
70 -//  
71 -// @XxlJob("commandJobHandler")  
72 -// public ReturnT<String> commandJobHandler(String param) throws Exception {  
73 -// String command = param;  
74 -// int exitValue = -1;  
75 -//  
76 -// BufferedReader bufferedReader = null;  
77 -// try {  
78 -// // command process  
79 -// Process process = Runtime.getRuntime().exec(command);  
80 -// BufferedInputStream bufferedInputStream = new BufferedInputStream(process.getInputStream());  
81 -// bufferedReader = new BufferedReader(new InputStreamReader(bufferedInputStream));  
82 -//  
83 -// // command log  
84 -// String line;  
85 -// while ((line = bufferedReader.readLine()) != null) {  
86 -// XxlJobLogger.log(line);  
87 -// }  
88 -//  
89 -// // command exit  
90 -// process.waitFor();  
91 -// exitValue = process.exitValue();  
92 -// } catch (Exception e) {  
93 -// XxlJobLogger.log(e);  
94 -// } finally {  
95 -// if (bufferedReader != null) {  
96 -// bufferedReader.close();  
97 -// }  
98 -// }  
99 -//  
100 -// if (exitValue == 0) {  
101 -// return IJobHandler.SUCCESS;  
102 -// } else {  
103 -// return new ReturnT<String>(IJobHandler.FAIL.getCode(), "command exit value(" + exitValue + ") is failed");  
104 -// }  
105 -// }  
106 -//  
107 -//  
108 -// /**  
109 -// * 4、跨平台Http任务  
110 -// * 参数示例:  
111 -// * "url: http://www.baidu.com\n" +  
112 -// * "method: get\n" +  
113 -// * "data: content\n";  
114 -// */  
115 -//  
116 -// @XxlJob("httpJobHandler")  
117 -// public ReturnT<String> httpJobHandler(String param) throws Exception {  
118 -//  
119 -// // param parse  
120 -// if (param == null || param.trim().length() == 0) {  
121 -// XxlJobLogger.log("param[" + param + "] invalid.");  
122 -// return ReturnT.FAIL;  
123 -// }  
124 -// String[] httpParams = param.split("\n");  
125 -// String url = null;  
126 -// String method = null;  
127 -// String data = null;  
128 -// for (String httpParam : httpParams) {  
129 -// if (httpParam.startsWith("url:")) {  
130 -// url = httpParam.substring(httpParam.indexOf("url:") + 4).trim();  
131 -// }  
132 -// if (httpParam.startsWith("method:")) {  
133 -// method = httpParam.substring(httpParam.indexOf("method:") + 7).trim().toUpperCase();  
134 -// }  
135 -// if (httpParam.startsWith("data:")) {  
136 -// data = httpParam.substring(httpParam.indexOf("data:") + 5).trim();  
137 -// }  
138 -// }  
139 -//  
140 -// // param valid  
141 -// if (url == null || url.trim().length() == 0) {  
142 -// XxlJobLogger.log("url[" + url + "] invalid.");  
143 -// return ReturnT.FAIL;  
144 -// }  
145 -// if (method == null || !Arrays.asList("GET", "POST").contains(method)) {  
146 -// XxlJobLogger.log("method[" + method + "] invalid.");  
147 -// return ReturnT.FAIL;  
148 -// }  
149 -//  
150 -// // request  
151 -// HttpURLConnection connection = null;  
152 -// BufferedReader bufferedReader = null;  
153 -// try {  
154 -// // connection  
155 -// URL realUrl = new URL(url);  
156 -// connection = (HttpURLConnection) realUrl.openConnection();  
157 -//  
158 -// // connection setting  
159 -// connection.setRequestMethod(method);  
160 -// connection.setDoOutput(true);  
161 -// connection.setDoInput(true);  
162 -// connection.setUseCaches(false);  
163 -// connection.setReadTimeout(5 * 1000);  
164 -// connection.setConnectTimeout(3 * 1000);  
165 -// connection.setRequestProperty("connection", "Keep-Alive");  
166 -// connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");  
167 -// connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8");  
168 -//  
169 -// // do connection  
170 -// connection.connect();  
171 -//  
172 -// // data  
173 -// if (data != null && data.trim().length() > 0) {  
174 -// DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());  
175 -// dataOutputStream.write(data.getBytes("UTF-8"));  
176 -// dataOutputStream.flush();  
177 -// dataOutputStream.close();  
178 -// }  
179 -//  
180 -// // valid StatusCode  
181 -// int statusCode = connection.getResponseCode();  
182 -// if (statusCode != 200) {  
183 -// throw new RuntimeException("Http Request StatusCode(" + statusCode + ") Invalid.");  
184 -// }  
185 -//  
186 -// // result  
187 -// bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));  
188 -// StringBuilder result = new StringBuilder();  
189 -// String line;  
190 -// while ((line = bufferedReader.readLine()) != null) {  
191 -// result.append(line);  
192 -// }  
193 -// String responseMsg = result.toString();  
194 -//  
195 -// XxlJobLogger.log(responseMsg);  
196 -// return ReturnT.SUCCESS;  
197 -// } catch (Exception e) {  
198 -// XxlJobLogger.log(e);  
199 -// return ReturnT.FAIL;  
200 -// } finally {  
201 -// try {  
202 -// if (bufferedReader != null) {  
203 -// bufferedReader.close();  
204 -// }  
205 -// if (connection != null) {  
206 -// connection.disconnect();  
207 -// }  
208 -// } catch (Exception e2) {  
209 -// XxlJobLogger.log(e2);  
210 -// }  
211 -// }  
212 -//  
213 -// }  
214 -//  
215 -//  
216 -// /**  
217 -// * 5、生命周期任务示例:任务初始化与销毁时,支持自定义相关逻辑;  
218 -// */  
219 -//  
220 -// @XxlJob(value = "demoJobHandler2", init = "init", destroy = "destroy")  
221 -// public ReturnT<String> demoJobHandler2(String param) throws Exception {  
222 -// XxlJobLogger.log("XXL-JOB, Hello World.");  
223 -// return ReturnT.SUCCESS;  
224 -// }  
225 -//  
226 -// public void init() {  
227 -// log.info("init");  
228 -// }  
229 -//  
230 -// public void destroy() {  
231 -// log.info("destory");  
232 -// }  
233 -//}  
234 -//  
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/Dockerfile deleted
1 -FROM anapsix/alpine-java:8_server-jre_unlimited  
2 -  
3 -MAINTAINER jeecgos@163.com  
4 -  
5 -RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  
6 -  
7 -RUN mkdir -p /jeecg-cloud-example  
8 -  
9 -WORKDIR /jeecg-cloud-example  
10 -  
11 -EXPOSE 7001  
12 -  
13 -ADD ./target/jeecg-cloud-example-2.4.2.jar ./  
14 -  
15 -CMD java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-example-2.4.2.jar  
16 -  
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/pom.xml deleted
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<project xmlns="http://maven.apache.org/POM/4.0.0"  
3 - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
4 - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
5 - <parent>  
6 - <artifactId>jeecg-cloud-module</artifactId>  
7 - <groupId>org.jeecgframework.boot</groupId>  
8 - <version>2.4.2</version>  
9 - </parent>  
10 - <modelVersion>4.0.0</modelVersion>  
11 - <artifactId>jeecg-cloud-example</artifactId>  
12 - <description>jeecg-cloud-example 微服务测试例子</description>  
13 - <dependencies>  
14 - <!-- 引入jeecg-boot-starter-cloud依赖-->  
15 - <dependency>  
16 - <groupId>org.jeecgframework.boot</groupId>  
17 - <artifactId>jeecg-boot-starter-cloud</artifactId>  
18 - </dependency>  
19 - <!-- 引入定时任务依赖 -->  
20 - <dependency>  
21 - <groupId>org.jeecgframework.boot</groupId>  
22 - <artifactId>jeecg-boot-starter-job</artifactId>  
23 - </dependency>  
24 -  
25 - <!-- 引入分布式锁依赖 -->  
26 - <dependency>  
27 - <groupId>org.jeecgframework.boot</groupId>  
28 - <artifactId>jeecg-boot-starter-lock</artifactId>  
29 - </dependency>  
30 -  
31 - <!--rabbitmq消息队列-->  
32 - <dependency>  
33 - <groupId>org.jeecgframework.boot</groupId>  
34 - <artifactId>jeecg-boot-starter-rabbitmq</artifactId>  
35 - </dependency>  
36 -  
37 - </dependencies>  
38 - <build>  
39 - <plugins>  
40 - <plugin>  
41 - <groupId>org.springframework.boot</groupId>  
42 - <artifactId>spring-boot-maven-plugin</artifactId>  
43 - </plugin>  
44 - </plugins>  
45 - <resources>  
46 - <resource>  
47 - <directory>src/main/resources</directory>  
48 - <filtering>true</filtering>  
49 - </resource>  
50 - </resources>  
51 - </build>  
52 -  
53 -</project>  
54 \ No newline at end of file 0 \ No newline at end of file
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/java/org/jeecg/JeecgCloudExampleApplication.java deleted
1 -  
2 -package org.jeecg;  
3 -  
4 -import org.springframework.boot.SpringApplication;  
5 -import org.springframework.boot.autoconfigure.SpringBootApplication;  
6 -import org.springframework.cloud.openfeign.EnableFeignClients;  
7 -import org.springframework.scheduling.annotation.EnableScheduling;  
8 -  
9 -@EnableScheduling  
10 -@EnableFeignClients(basePackages = {"org.jeecg"})  
11 -@SpringBootApplication(scanBasePackages = "org.jeecg")  
12 -public class JeecgCloudExampleApplication {  
13 -  
14 - public static void main(String[] args) {  
15 - SpringApplication.run(JeecgCloudExampleApplication.class, args);  
16 - }  
17 -}  
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/java/org/jeecg/cloud/demo/rabbitmq/DemoRabbitMqListener2.java deleted
1 -package org.jeecg.cloud.demo.rabbitmq;  
2 -  
3 -import com.rabbitmq.client.Channel;  
4 -import lombok.extern.slf4j.Slf4j;  
5 -import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;  
6 -import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;  
7 -import org.jeecg.common.annotation.RabbitComponent;  
8 -import org.jeecg.common.base.BaseMap;  
9 -import org.springframework.amqp.rabbit.annotation.RabbitListener;  
10 -import org.springframework.amqp.support.AmqpHeaders;  
11 -import org.springframework.messaging.handler.annotation.Header;  
12 -  
13 -@Slf4j  
14 -@RabbitComponent(value = "testListener2")  
15 -public class DemoRabbitMqListener2 extends BaseRabbiMqHandler<BaseMap> {  
16 -  
17 - @RabbitListener(queues = "test2")  
18 - public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {  
19 - super.onMessage(baseMap, deliveryTag, channel, new MqListener<BaseMap>() {  
20 - @Override  
21 - public void handler(BaseMap map, Channel channel) {  
22 - String orderId = map.get("orderId");  
23 - log.info("业务处理2:orderId:" + orderId);  
24 - }  
25 - });  
26 - }  
27 -  
28 -}  
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/java/org/jeecg/cloud/demo/test/controller/JeecgDemoController.java deleted
1 -package org.jeecg.cloud.demo.test.controller;  
2 -  
3 -import io.swagger.annotations.Api;  
4 -import io.swagger.annotations.ApiOperation;  
5 -import lombok.extern.slf4j.Slf4j;  
6 -import org.jeecg.common.api.vo.Result;  
7 -import org.jeecg.common.system.api.ISysBaseAPI;  
8 -import org.jeecg.common.system.vo.DictModel;  
9 -import org.springframework.web.bind.annotation.GetMapping;  
10 -import org.springframework.web.bind.annotation.RequestMapping;  
11 -import org.springframework.web.bind.annotation.RestController;  
12 -  
13 -import javax.annotation.Resource;  
14 -import java.util.List;  
15 -  
16 -/**  
17 - *  
18 - */  
19 -@Slf4j  
20 -@Api(tags = "jeecg-demo")  
21 -@RestController  
22 -@RequestMapping("/test")  
23 -public class JeecgDemoController {  
24 -  
25 -  
26 - @Resource  
27 - private ISysBaseAPI sysBaseAPI;  
28 -  
29 - /**  
30 - * 测试  
31 - *  
32 - * @return  
33 - */  
34 - @GetMapping("/demo")  
35 - @ApiOperation(value = "测试方法", notes = "测试方法")  
36 - public Result mockChange2() {  
37 -// try{  
38 -// //睡5秒,网关Hystrix3秒超时,会触发熔断降级操作  
39 -// Thread.sleep(5000);  
40 -// }catch (Exception e){  
41 -// e.printStackTrace();  
42 -// }  
43 - List<DictModel> list = sysBaseAPI.queryAllDict();  
44 - return Result.OK(list);  
45 - }  
46 -  
47 -  
48 -}  
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/resources/application.yml deleted
1 -server:  
2 - port: 7003  
3 -spring:  
4 - application:  
5 - name: jeecg-cloud-example  
6 \ No newline at end of file 0 \ No newline at end of file
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/pom.xml
@@ -9,14 +9,9 @@ @@ -9,14 +9,9 @@
9 </parent> 9 </parent>
10 <modelVersion>4.0.0</modelVersion> 10 <modelVersion>4.0.0</modelVersion>
11 <artifactId>jeecg-cloud-system-start</artifactId> 11 <artifactId>jeecg-cloud-system-start</artifactId>
12 - <description>jeecg-cloud-system-start基础启动模块</description> 12 + <description>System项目微服务启动</description>
13 13
14 <dependencies> 14 <dependencies>
15 - <!-- 引入jeecg-boot-module-system依赖 -->  
16 - <dependency>  
17 - <groupId>org.jeecgframework.boot</groupId>  
18 - <artifactId>jeecg-boot-module-system</artifactId>  
19 - </dependency>  
20 <!-- 引入jeecg-boot-starter-cloud依赖 --> 15 <!-- 引入jeecg-boot-starter-cloud依赖 -->
21 <dependency> 16 <dependency>
22 <groupId>org.jeecgframework.boot</groupId> 17 <groupId>org.jeecgframework.boot</groupId>
@@ -29,6 +24,12 @@ @@ -29,6 +24,12 @@
29 </exclusion> 24 </exclusion>
30 </exclusions> 25 </exclusions>
31 </dependency> 26 </dependency>
  27 + <!-- 引入jeecg-boot-module-system依赖 -->
  28 + <dependency>
  29 + <groupId>org.jeecgframework.boot</groupId>
  30 + <artifactId>jeecg-boot-module-system</artifactId>
  31 + </dependency>
  32 +
32 <!--rabbitmq消息队列--> 33 <!--rabbitmq消息队列-->
33 <dependency> 34 <dependency>
34 <groupId>org.jeecgframework.boot</groupId> 35 <groupId>org.jeecgframework.boot</groupId>
@@ -39,6 +40,12 @@ @@ -39,6 +40,12 @@
39 <groupId>org.jeecgframework.boot</groupId> 40 <groupId>org.jeecgframework.boot</groupId>
40 <artifactId>jeecg-boot-starter-job</artifactId> 41 <artifactId>jeecg-boot-starter-job</artifactId>
41 </dependency> 42 </dependency>
  43 + <!-- 分布式锁依赖 -->
  44 + <dependency>
  45 + <groupId>org.jeecgframework.boot</groupId>
  46 + <artifactId>jeecg-boot-starter-lock</artifactId>
  47 + </dependency>
  48 +
42 </dependencies> 49 </dependencies>
43 50
44 <build> 51 <build>
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/JeecgSystemCloudApplication.java
1 package org.jeecg; 1 package org.jeecg;
2 2
3 import lombok.extern.slf4j.Slf4j; 3 import lombok.extern.slf4j.Slf4j;
4 -import org.apache.catalina.Context;  
5 -import org.apache.tomcat.util.scan.StandardJarScanner;  
6 import org.jeecg.common.util.oConvertUtils; 4 import org.jeecg.common.util.oConvertUtils;
7 import org.springframework.boot.SpringApplication; 5 import org.springframework.boot.SpringApplication;
8 import org.springframework.boot.autoconfigure.SpringBootApplication; 6 import org.springframework.boot.autoconfigure.SpringBootApplication;
9 import org.springframework.boot.builder.SpringApplicationBuilder; 7 import org.springframework.boot.builder.SpringApplicationBuilder;
10 -import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;  
11 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; 8 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
12 import org.springframework.cloud.openfeign.EnableFeignClients; 9 import org.springframework.cloud.openfeign.EnableFeignClients;
13 import org.springframework.context.ConfigurableApplicationContext; 10 import org.springframework.context.ConfigurableApplicationContext;
14 -import org.springframework.context.annotation.Bean;  
15 import org.springframework.core.env.Environment; 11 import org.springframework.core.env.Environment;
  12 +import org.springframework.scheduling.annotation.EnableScheduling;
16 13
17 import java.net.InetAddress; 14 import java.net.InetAddress;
18 import java.net.UnknownHostException; 15 import java.net.UnknownHostException;
@@ -24,6 +21,7 @@ import java.net.UnknownHostException; @@ -24,6 +21,7 @@ import java.net.UnknownHostException;
24 @Slf4j 21 @Slf4j
25 @SpringBootApplication 22 @SpringBootApplication
26 @EnableFeignClients(basePackages = {"org.jeecg"}) 23 @EnableFeignClients(basePackages = {"org.jeecg"})
  24 +@EnableScheduling
27 public class JeecgSystemCloudApplication extends SpringBootServletInitializer { 25 public class JeecgSystemCloudApplication extends SpringBootServletInitializer {
28 26
29 @Override 27 @Override
@@ -45,4 +43,5 @@ public class JeecgSystemCloudApplication extends SpringBootServletInitializer { @@ -45,4 +43,5 @@ public class JeecgSystemCloudApplication extends SpringBootServletInitializer {
45 "----------------------------------------------------------"); 43 "----------------------------------------------------------");
46 44
47 } 45 }
  46 +
48 } 47 }
49 \ No newline at end of file 48 \ No newline at end of file
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/constant/CloudConstant.java 0 → 100644
  1 +package org.jeecg.modules.cloud.constant;
  2 +
  3 +/**
  4 + * 微服务单元测试常量定义
  5 + */
  6 +public interface CloudConstant {
  7 +
  8 + /**
  9 + * 微服务名【对应模块jeecg-boot-module-demo】
  10 + */
  11 + public final static String SERVER_NAME_JEECGDEMO = "jeecg-demo";
  12 +
  13 + /**
  14 + * MQ测试队列名字
  15 + */
  16 + public final static String MQ_JEECG_PLACE_ORDER = "jeecg_place_order";
  17 + public final static String MQ_JEECG_PLACE_ORDER_TIME = "jeecg_place_order_time";
  18 +
  19 + /**
  20 + * MQ测试消息总线
  21 + */
  22 + public final static String MQ_DEMO_BUS_EVENT = "demoBusEvent";
  23 +
  24 + /**
  25 + * 分布式锁lock key
  26 + */
  27 + public final static String REDISSON_DEMO_LOCK_KEY1 = "demoLockKey1";
  28 + public final static String REDISSON_DEMO_LOCK_KEY2 = "demoLockKey2";
  29 +
  30 +}
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/java/org/jeecg/cloud/demo/bus/DemoBusEvent.java renamed to jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/ebus/DemoBusEvent.java
1 -package org.jeecg.cloud.demo.bus; 1 +package org.jeecg.modules.cloud.ebus;
2 2
3 import cn.hutool.core.util.ObjectUtil; 3 import cn.hutool.core.util.ObjectUtil;
4 import lombok.extern.slf4j.Slf4j; 4 import lombok.extern.slf4j.Slf4j;
5 import org.jeecg.boot.starter.rabbitmq.event.EventObj; 5 import org.jeecg.boot.starter.rabbitmq.event.EventObj;
6 import org.jeecg.boot.starter.rabbitmq.event.JeecgBusEventHandler; 6 import org.jeecg.boot.starter.rabbitmq.event.JeecgBusEventHandler;
7 import org.jeecg.common.base.BaseMap; 7 import org.jeecg.common.base.BaseMap;
  8 +import org.jeecg.modules.cloud.constant.CloudConstant;
8 import org.springframework.stereotype.Component; 9 import org.springframework.stereotype.Component;
9 10
10 /** 11 /**
11 * 消息处理器【发布订阅】 12 * 消息处理器【发布订阅】
12 */ 13 */
13 @Slf4j 14 @Slf4j
14 -@Component("demoBusEvent") 15 +@Component(CloudConstant.MQ_DEMO_BUS_EVENT)
15 public class DemoBusEvent implements JeecgBusEventHandler { 16 public class DemoBusEvent implements JeecgBusEventHandler {
16 17
17 18
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/feign/controller/JeecgTestFeignTest.java renamed to jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/feign/controller/JeecgTestFeignController.java
1 package org.jeecg.modules.cloud.feign.controller; 1 package org.jeecg.modules.cloud.feign.controller;
2 2
3 3
  4 +import cn.hutool.core.util.RandomUtil;
4 import io.swagger.annotations.Api; 5 import io.swagger.annotations.Api;
5 import io.swagger.annotations.ApiOperation; 6 import io.swagger.annotations.ApiOperation;
  7 +import org.jeecg.boot.starter.rabbitmq.client.RabbitMqClient;
6 import org.jeecg.common.api.vo.Result; 8 import org.jeecg.common.api.vo.Result;
  9 +import org.jeecg.common.base.BaseMap;
  10 +import org.jeecg.modules.cloud.constant.CloudConstant;
7 import org.jeecg.modules.cloud.feign.feign.JeecgTestClient; 11 import org.jeecg.modules.cloud.feign.feign.JeecgTestClient;
8 -import org.jeecg.modules.cloud.feign.feign.JeecgTestClient2; 12 +import org.jeecg.modules.cloud.feign.feign.JeecgTestClientDyn;
9 import org.jeecg.starter.cloud.feign.impl.JeecgFeignService; 13 import org.jeecg.starter.cloud.feign.impl.JeecgFeignService;
10 import org.springframework.beans.factory.annotation.Autowired; 14 import org.springframework.beans.factory.annotation.Autowired;
11 import org.springframework.web.bind.annotation.GetMapping; 15 import org.springframework.web.bind.annotation.GetMapping;
12 import org.springframework.web.bind.annotation.RequestMapping; 16 import org.springframework.web.bind.annotation.RequestMapping;
13 import org.springframework.web.bind.annotation.RestController; 17 import org.springframework.web.bind.annotation.RestController;
14 18
  19 +import javax.servlet.http.HttpServletRequest;
  20 +
15 @RestController 21 @RestController
16 @RequestMapping("/sys/test") 22 @RequestMapping("/sys/test")
17 -@Api(tags = "feign测试")  
18 -public class JeecgTestFeignTest { 23 +@Api(tags = "【微服务】单元测试")
  24 +public class JeecgTestFeignController {
19 25
20 @Autowired 26 @Autowired
21 private JeecgFeignService jeecgFeignService; 27 private JeecgFeignService jeecgFeignService;
22 -  
23 @Autowired 28 @Autowired
24 private JeecgTestClient jeecgTestClient; 29 private JeecgTestClient jeecgTestClient;
25 - 30 + @Autowired
  31 + private RabbitMqClient rabbitMqClient;
26 32
27 @GetMapping("getMessage") 33 @GetMapping("getMessage")
28 @ApiOperation(value = "测试feign", notes = "测试feign") 34 @ApiOperation(value = "测试feign", notes = "测试feign")
@@ -33,7 +39,23 @@ public class JeecgTestFeignTest { @@ -33,7 +39,23 @@ public class JeecgTestFeignTest {
33 @GetMapping("getMessage2") 39 @GetMapping("getMessage2")
34 @ApiOperation(value = "测试动态feign", notes = "测试动态feign") 40 @ApiOperation(value = "测试动态feign", notes = "测试动态feign")
35 public Result<String> getMessage2() { 41 public Result<String> getMessage2() {
36 - JeecgTestClient2 jeecgTestClient = jeecgFeignService.newInstance(JeecgTestClient2.class, "jeecg-demo");  
37 - return jeecgTestClient.getMessage("jeecg-boot2"); 42 + JeecgTestClientDyn myClientDyn = jeecgFeignService.newInstance(JeecgTestClientDyn.class, CloudConstant.SERVER_NAME_JEECGDEMO);
  43 + return myClientDyn.getMessage("动态fegin——jeecg-boot2");
  44 + }
  45 +
  46 + @GetMapping(value = "/rabbitmq")
  47 + @ApiOperation(value = "测试rabbitmq", notes = "测试rabbitmq")
  48 + public Result<?> rabbitMqClientTest(HttpServletRequest req) {
  49 + //rabbitmq消息队列测试
  50 + BaseMap map = new BaseMap();
  51 + map.put("orderId", RandomUtil.randomNumbers(10));
  52 + rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER, map);
  53 + rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER_TIME, map,10);
  54 +
  55 + //rabbitmq消息总线测试
  56 + BaseMap params = new BaseMap();
  57 + params.put("orderId", "123456");
  58 + rabbitMqClient.publishEvent(CloudConstant.MQ_DEMO_BUS_EVENT, params);
  59 + return Result.OK("MQ发送消息成功");
38 } 60 }
39 } 61 }
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/feign/feign/JeecgTestClient.java
1 package org.jeecg.modules.cloud.feign.feign; 1 package org.jeecg.modules.cloud.feign.feign;
2 2
3 import org.jeecg.common.api.vo.Result; 3 import org.jeecg.common.api.vo.Result;
  4 +import org.jeecg.modules.cloud.constant.CloudConstant;
  5 +import org.jeecg.modules.cloud.feign.feign.fallback.JeecgTestClientFallback;
4 import org.springframework.cloud.openfeign.FeignClient; 6 import org.springframework.cloud.openfeign.FeignClient;
5 import org.springframework.stereotype.Component; 7 import org.springframework.stereotype.Component;
6 import org.springframework.web.bind.annotation.GetMapping; 8 import org.springframework.web.bind.annotation.GetMapping;
@@ -9,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam; @@ -9,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam;
9 /** 11 /**
10 * 常规feign接口定义 12 * 常规feign接口定义
11 */ 13 */
12 -@FeignClient(value = "jeecg-demo", fallbackFactory = DemoFallback.class) 14 +@FeignClient(value = CloudConstant.SERVER_NAME_JEECGDEMO, fallbackFactory = JeecgTestClientFallback.class)
13 @Component 15 @Component
14 public interface JeecgTestClient { 16 public interface JeecgTestClient {
15 17
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/feign/feign/JeecgTestClient2.java renamed to jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/feign/feign/JeecgTestClientDyn.java
@@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.RequestParam; @@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.RequestParam;
7 /** 7 /**
8 * 动态feign接口定义 8 * 动态feign接口定义
9 */ 9 */
10 -public interface JeecgTestClient2 { 10 +public interface JeecgTestClientDyn {
11 11
12 @GetMapping(value = "/test/getMessage") 12 @GetMapping(value = "/test/getMessage")
13 Result<String> getMessage(@RequestParam("name") String name); 13 Result<String> getMessage(@RequestParam("name") String name);
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/feign/feign/DemoFallback.java renamed to jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/feign/feign/fallback/JeecgTestClientFallback.java
1 -package org.jeecg.modules.cloud.feign.feign; 1 +package org.jeecg.modules.cloud.feign.feign.fallback;
2 2
3 import feign.hystrix.FallbackFactory; 3 import feign.hystrix.FallbackFactory;
  4 +import org.jeecg.modules.cloud.feign.feign.JeecgTestClient;
4 import org.springframework.stereotype.Component; 5 import org.springframework.stereotype.Component;
5 6
6 /** 7 /**
7 * @author qinfeng 8 * @author qinfeng
8 */ 9 */
9 @Component 10 @Component
10 -public class DemoFallback implements FallbackFactory<JeecgTestClient> { 11 +public class JeecgTestClientFallback implements FallbackFactory<JeecgTestClient> {
11 12
12 @Override 13 @Override
13 public JeecgTestClient create(Throwable throwable) { 14 public JeecgTestClient create(Throwable throwable) {
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/java/org/jeecg/cloud/demo/lock/DemoLockTest.java renamed to jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/lock/DemoLockTest.java
1 -package org.jeecg.cloud.demo.lock; 1 +package org.jeecg.modules.cloud.lock;
2 2
3 import lombok.extern.slf4j.Slf4j; 3 import lombok.extern.slf4j.Slf4j;
4 import org.jeecg.boot.starter.lock.annotation.DistributedLock; 4 import org.jeecg.boot.starter.lock.annotation.DistributedLock;
5 import org.jeecg.boot.starter.lock.client.RedissonLockClient; 5 import org.jeecg.boot.starter.lock.client.RedissonLockClient;
6 import org.jeecg.boot.starter.rabbitmq.client.RabbitMqClient; 6 import org.jeecg.boot.starter.rabbitmq.client.RabbitMqClient;
  7 +import org.jeecg.common.base.BaseMap;
  8 +import org.jeecg.modules.cloud.constant.CloudConstant;
7 import org.springframework.beans.factory.annotation.Autowired; 9 import org.springframework.beans.factory.annotation.Autowired;
8 import org.springframework.scheduling.annotation.Scheduled; 10 import org.springframework.scheduling.annotation.Scheduled;
9 import org.springframework.stereotype.Component; 11 import org.springframework.stereotype.Component;
@@ -19,43 +21,45 @@ import java.util.Map; @@ -19,43 +21,45 @@ import java.util.Map;
19 public class DemoLockTest { 21 public class DemoLockTest {
20 @Autowired 22 @Autowired
21 RedissonLockClient redissonLock; 23 RedissonLockClient redissonLock;
22 -  
23 @Autowired 24 @Autowired
24 RabbitMqClient rabbitMqClient; 25 RabbitMqClient rabbitMqClient;
25 26
26 /** 27 /**
27 - * 注解方式测试分布式锁 28 + * 测试分布式锁【注解方式】
28 */ 29 */
29 - //@Scheduled(cron = "0/5 * * * * ?")  
30 - @DistributedLock(lockKey = "redis-lock", expireSeconds = 11) 30 + @Scheduled(cron = "0/5 * * * * ?")
  31 + @DistributedLock(lockKey = CloudConstant.REDISSON_DEMO_LOCK_KEY1)
31 public void execute() throws InterruptedException { 32 public void execute() throws InterruptedException {
32 log.info("执行execute任务开始,休眠三秒"); 33 log.info("执行execute任务开始,休眠三秒");
33 Thread.sleep(3000); 34 Thread.sleep(3000);
34 System.out.println("=======================业务逻辑1============================="); 35 System.out.println("=======================业务逻辑1=============================");
35 - Map map = new HashMap();  
36 - map.put("orderId", "12345");  
37 - rabbitMqClient.sendMessage("test", map); 36 + Map map = new BaseMap();
  37 + map.put("orderId", "BJ0001");
  38 + rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER, map);
38 //延迟10秒发送 39 //延迟10秒发送
39 - map.put("orderId", "555555");  
40 - rabbitMqClient.sendMessage("test", map, 10000); 40 + map.put("orderId", "NJ0002");
  41 + rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER, map, 10000);
41 log.info("execute任务结束,休眠三秒"); 42 log.info("execute任务结束,休眠三秒");
42 } 43 }
43 44
  45 + public DemoLockTest() {
  46 + }
  47 +
44 /** 48 /**
45 - * 编码方式测试分布式锁 49 + * 测试分布式锁【编码方式】
46 */ 50 */
47 - //@Scheduled(cron = "0/10 * * * * ?") 51 + //@Scheduled(cron = "0/5 * * * * ?")
48 public void execute2() throws InterruptedException { 52 public void execute2() throws InterruptedException {
49 - if (redissonLock.tryLock("redisson", -1, 10)) {  
50 - log.info("执行任务execute2开始,休眠三秒");  
51 - Thread.sleep(3000); 53 + if (redissonLock.tryLock(CloudConstant.REDISSON_DEMO_LOCK_KEY2, -1, 6000)) {
  54 + log.info("执行任务execute2开始,休眠十秒");
  55 + Thread.sleep(10000);
52 System.out.println("=======================业务逻辑2============================="); 56 System.out.println("=======================业务逻辑2=============================");
53 - log.info("定时execute2结束,休眠三秒");  
54 - redissonLock.unlock("redisson"); 57 + log.info("定时execute2结束,休眠十秒");
  58 +
  59 + redissonLock.unlock(CloudConstant.REDISSON_DEMO_LOCK_KEY2);
55 } else { 60 } else {
56 log.info("execute2获取锁失败"); 61 log.info("execute2获取锁失败");
57 } 62 }
58 } 63 }
59 64
60 -  
61 } 65 }
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/rabbitmq/HelloReceiver1.java
1 package org.jeecg.modules.cloud.rabbitmq; 1 package org.jeecg.modules.cloud.rabbitmq;
2 2
3 import com.rabbitmq.client.Channel; 3 import com.rabbitmq.client.Channel;
  4 +import lombok.extern.slf4j.Slf4j;
4 import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler; 5 import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
5 import org.jeecg.boot.starter.rabbitmq.listenter.MqListener; 6 import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
6 import org.jeecg.common.annotation.RabbitComponent; 7 import org.jeecg.common.annotation.RabbitComponent;
7 import org.jeecg.common.base.BaseMap; 8 import org.jeecg.common.base.BaseMap;
  9 +import org.jeecg.modules.cloud.constant.CloudConstant;
8 import org.springframework.amqp.rabbit.annotation.RabbitHandler; 10 import org.springframework.amqp.rabbit.annotation.RabbitHandler;
9 import org.springframework.amqp.rabbit.annotation.RabbitListener; 11 import org.springframework.amqp.rabbit.annotation.RabbitListener;
10 import org.springframework.amqp.support.AmqpHeaders; 12 import org.springframework.amqp.support.AmqpHeaders;
11 import org.springframework.messaging.handler.annotation.Header; 13 import org.springframework.messaging.handler.annotation.Header;
12 14
13 -@RabbitListener(queues = "jeecg_place_order") 15 +/**
  16 + * RabbitMq接受者1
  17 + * (@RabbitListener声明类上,一个类只能监听一个队列)
  18 + */
  19 +@Slf4j
  20 +@RabbitListener(queues = CloudConstant.MQ_JEECG_PLACE_ORDER)
14 @RabbitComponent(value = "helloReceiver1") 21 @RabbitComponent(value = "helloReceiver1")
15 public class HelloReceiver1 extends BaseRabbiMqHandler<BaseMap> { 22 public class HelloReceiver1 extends BaseRabbiMqHandler<BaseMap> {
16 23
@@ -21,7 +28,7 @@ public class HelloReceiver1 extends BaseRabbiMqHandler&lt;BaseMap&gt; { @@ -21,7 +28,7 @@ public class HelloReceiver1 extends BaseRabbiMqHandler&lt;BaseMap&gt; {
21 public void handler(BaseMap map, Channel channel) { 28 public void handler(BaseMap map, Channel channel) {
22 //业务处理 29 //业务处理
23 String orderId = map.get("orderId").toString(); 30 String orderId = map.get("orderId").toString();
24 - System.out.println("Receiver1 : " + orderId); 31 + log.info("MQ Receiver1,orderId : " + orderId);
25 } 32 }
26 }); 33 });
27 } 34 }
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/rabbitmq/HelloReceiver2.java
1 package org.jeecg.modules.cloud.rabbitmq; 1 package org.jeecg.modules.cloud.rabbitmq;
2 2
3 import com.rabbitmq.client.Channel; 3 import com.rabbitmq.client.Channel;
  4 +import lombok.extern.slf4j.Slf4j;
4 import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler; 5 import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
5 import org.jeecg.boot.starter.rabbitmq.listenter.MqListener; 6 import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
6 import org.jeecg.common.annotation.RabbitComponent; 7 import org.jeecg.common.annotation.RabbitComponent;
7 import org.jeecg.common.base.BaseMap; 8 import org.jeecg.common.base.BaseMap;
  9 +import org.jeecg.modules.cloud.constant.CloudConstant;
8 import org.springframework.amqp.rabbit.annotation.RabbitHandler; 10 import org.springframework.amqp.rabbit.annotation.RabbitHandler;
9 import org.springframework.amqp.rabbit.annotation.RabbitListener; 11 import org.springframework.amqp.rabbit.annotation.RabbitListener;
10 import org.springframework.amqp.support.AmqpHeaders; 12 import org.springframework.amqp.support.AmqpHeaders;
11 import org.springframework.messaging.handler.annotation.Header; 13 import org.springframework.messaging.handler.annotation.Header;
12 14
13 -@RabbitListener(queues = "jeecg_place_order") 15 +/**
  16 + * RabbitMq接受者2
  17 + * (@RabbitListener声明类上,一个类只能监听一个队列)
  18 + */
  19 +@Slf4j
  20 +@RabbitListener(queues = CloudConstant.MQ_JEECG_PLACE_ORDER)
14 @RabbitComponent(value = "helloReceiver2") 21 @RabbitComponent(value = "helloReceiver2")
15 public class HelloReceiver2 extends BaseRabbiMqHandler<BaseMap> { 22 public class HelloReceiver2 extends BaseRabbiMqHandler<BaseMap> {
16 23
@@ -21,7 +28,7 @@ public class HelloReceiver2 extends BaseRabbiMqHandler&lt;BaseMap&gt; { @@ -21,7 +28,7 @@ public class HelloReceiver2 extends BaseRabbiMqHandler&lt;BaseMap&gt; {
21 public void handler(BaseMap map, Channel channel) { 28 public void handler(BaseMap map, Channel channel) {
22 //业务处理 29 //业务处理
23 String orderId = map.get("orderId").toString(); 30 String orderId = map.get("orderId").toString();
24 - System.out.println("Receiver2 : " + orderId); 31 + log.info("MQ Receiver2,orderId : " + orderId);
25 } 32 }
26 }); 33 });
27 } 34 }
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/java/org/jeecg/cloud/demo/rabbitmq/DemoRabbitMqListener3.java renamed to jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/rabbitmq/HelloReceiver3.java
1 -package org.jeecg.cloud.demo.rabbitmq; 1 +package org.jeecg.modules.cloud.rabbitmq;
2 2
3 import com.rabbitmq.client.Channel; 3 import com.rabbitmq.client.Channel;
4 import lombok.extern.slf4j.Slf4j; 4 import lombok.extern.slf4j.Slf4j;
@@ -6,24 +6,30 @@ import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler; @@ -6,24 +6,30 @@ import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
6 import org.jeecg.boot.starter.rabbitmq.listenter.MqListener; 6 import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
7 import org.jeecg.common.annotation.RabbitComponent; 7 import org.jeecg.common.annotation.RabbitComponent;
8 import org.jeecg.common.base.BaseMap; 8 import org.jeecg.common.base.BaseMap;
  9 +import org.jeecg.modules.cloud.constant.CloudConstant;
9 import org.springframework.amqp.rabbit.annotation.RabbitHandler; 10 import org.springframework.amqp.rabbit.annotation.RabbitHandler;
10 import org.springframework.amqp.rabbit.annotation.RabbitListener; 11 import org.springframework.amqp.rabbit.annotation.RabbitListener;
11 import org.springframework.amqp.support.AmqpHeaders; 12 import org.springframework.amqp.support.AmqpHeaders;
12 import org.springframework.messaging.handler.annotation.Header; 13 import org.springframework.messaging.handler.annotation.Header;
13 14
  15 +/**
  16 + * RabbitMq接受者3
  17 + * (@RabbitListener声明类方法上,一个类可以多监听多个队列)
  18 + */
14 @Slf4j 19 @Slf4j
15 -@RabbitListener(queues = "test3")  
16 -@RabbitComponent(value = "testListener3")  
17 -public class DemoRabbitMqListener3 extends BaseRabbiMqHandler<BaseMap> { 20 +@RabbitComponent(value = "helloReceiver3")
  21 +public class HelloReceiver3 extends BaseRabbiMqHandler<BaseMap> {
18 22
19 - @RabbitHandler 23 + @RabbitListener(queues = CloudConstant.MQ_JEECG_PLACE_ORDER)
20 public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) { 24 public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
21 super.onMessage(baseMap, deliveryTag, channel, new MqListener<BaseMap>() { 25 super.onMessage(baseMap, deliveryTag, channel, new MqListener<BaseMap>() {
22 @Override 26 @Override
23 public void handler(BaseMap map, Channel channel) { 27 public void handler(BaseMap map, Channel channel) {
  28 + //业务处理
24 String orderId = map.get("orderId").toString(); 29 String orderId = map.get("orderId").toString();
25 - log.info("业务处理3:orderId:" + orderId); 30 + log.info("MQ Receiver3,orderId : " + orderId);
26 } 31 }
27 }); 32 });
28 } 33 }
29 -} 34 +
  35 +}
30 \ No newline at end of file 36 \ No newline at end of file
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/rabbitmq/HelloTimeReceiver.java
1 package org.jeecg.modules.cloud.rabbitmq; 1 package org.jeecg.modules.cloud.rabbitmq;
2 2
3 import com.rabbitmq.client.Channel; 3 import com.rabbitmq.client.Channel;
  4 +import lombok.extern.slf4j.Slf4j;
4 import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler; 5 import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
5 import org.jeecg.boot.starter.rabbitmq.listenter.MqListener; 6 import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
6 import org.jeecg.common.annotation.RabbitComponent; 7 import org.jeecg.common.annotation.RabbitComponent;
7 import org.jeecg.common.base.BaseMap; 8 import org.jeecg.common.base.BaseMap;
  9 +import org.jeecg.modules.cloud.constant.CloudConstant;
8 import org.springframework.amqp.rabbit.annotation.RabbitHandler; 10 import org.springframework.amqp.rabbit.annotation.RabbitHandler;
9 import org.springframework.amqp.rabbit.annotation.RabbitListener; 11 import org.springframework.amqp.rabbit.annotation.RabbitListener;
10 import org.springframework.amqp.support.AmqpHeaders; 12 import org.springframework.amqp.support.AmqpHeaders;
11 import org.springframework.messaging.handler.annotation.Header; 13 import org.springframework.messaging.handler.annotation.Header;
12 14
13 -@RabbitListener(queues = "jeecg_place_order_time") 15 +@Slf4j
  16 +@RabbitListener(queues = CloudConstant.MQ_JEECG_PLACE_ORDER_TIME)
14 @RabbitComponent(value = "helloTimeReceiver") 17 @RabbitComponent(value = "helloTimeReceiver")
15 public class HelloTimeReceiver extends BaseRabbiMqHandler<BaseMap> { 18 public class HelloTimeReceiver extends BaseRabbiMqHandler<BaseMap> {
16 19
@@ -21,7 +24,7 @@ public class HelloTimeReceiver extends BaseRabbiMqHandler&lt;BaseMap&gt; { @@ -21,7 +24,7 @@ public class HelloTimeReceiver extends BaseRabbiMqHandler&lt;BaseMap&gt; {
21 public void handler(BaseMap map, Channel channel) { 24 public void handler(BaseMap map, Channel channel) {
22 //业务处理 25 //业务处理
23 String orderId = map.get("orderId").toString(); 26 String orderId = map.get("orderId").toString();
24 - System.out.println("Receiver1 : " + orderId); 27 + log.info("Time Receiver1,orderId : " + orderId);
25 } 28 }
26 }); 29 });
27 } 30 }
jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/xxljob/Demo2JobHandler.java deleted
1 -  
2 -package org.jeecg.modules.cloud.xxljob;;  
3 -  
4 -  
5 -import com.xxl.job.core.biz.model.ReturnT;  
6 -import com.xxl.job.core.handler.annotation.XxlJob;  
7 -import com.xxl.job.core.log.XxlJobLogger;  
8 -import com.xxl.job.core.util.ShardingUtil;  
9 -import lombok.extern.slf4j.Slf4j;  
10 -import org.springframework.stereotype.Component;  
11 -  
12 -  
13 -/**  
14 - * xxl-job定时任务测试  
15 - */  
16 -@Component  
17 -@Slf4j  
18 -public class Demo2JobHandler {  
19 -  
20 -  
21 - /**  
22 - * 简单任务  
23 - *  
24 - * @param params  
25 - * @return  
26 - */  
27 -  
28 - @XxlJob(value = "demoJob2")  
29 - public ReturnT<String> demoJobHandler(String params) {  
30 - log.info("我是定时任务,我执行了...............................");  
31 - return ReturnT.SUCCESS;  
32 - }  
33 -  
34 - /**  
35 - * 2、分片广播任务  
36 - */  
37 -  
38 - @XxlJob("shardingJobHandler3")  
39 - public ReturnT<String> shardingJobHandler(String param) throws Exception {  
40 -  
41 - // 分片参数  
42 - ShardingUtil.ShardingVO shardingVO = ShardingUtil.getShardingVo();  
43 - XxlJobLogger.log("分片参数:当前分片序号 = {}, 总分片数 = {}", shardingVO.getIndex(), shardingVO.getTotal());  
44 -  
45 - // 业务逻辑  
46 - for (int i = 0; i < shardingVO.getTotal(); i++) {  
47 - if (i == shardingVO.getIndex()) {  
48 - XxlJobLogger.log("第 {} 片, 命中分片开始处理", i);  
49 - } else {  
50 - XxlJobLogger.log("第 {} 片, 忽略", i);  
51 - }  
52 - }  
53 -  
54 - return ReturnT.SUCCESS;  
55 - }  
56 -}  
57 -  
jeecg-boot/jeecg-cloud-module/jeecg-cloud-example/src/main/java/org/jeecg/cloud/demo/job/DemoJobHandler.java renamed to jeecg-boot/jeecg-cloud-module/jeecg-cloud-system-start/src/main/java/org/jeecg/modules/cloud/xxljob/DemoJobHandler.java
1 1
2 -package org.jeecg.cloud.demo.job; 2 +package org.jeecg.modules.cloud.xxljob;;
3 3
4 4
5 import com.xxl.job.core.biz.model.ReturnT; 5 import com.xxl.job.core.biz.model.ReturnT;
@@ -230,5 +230,6 @@ public class DemoJobHandler { @@ -230,5 +230,6 @@ public class DemoJobHandler {
230 public void destroy() { 230 public void destroy() {
231 log.info("destory"); 231 log.info("destory");
232 } 232 }
  233 +
233 } 234 }
234 235
jeecg-boot/jeecg-cloud-module/pom.xml
@@ -16,8 +16,6 @@ @@ -16,8 +16,6 @@
16 <module>jeecg-cloud-gateway</module> 16 <module>jeecg-cloud-gateway</module>
17 <module>jeecg-cloud-monitor</module> 17 <module>jeecg-cloud-monitor</module>
18 <module>jeecg-cloud-xxljob</module> 18 <module>jeecg-cloud-xxljob</module>
19 - <!-- 微服务测试学习例子  
20 - <module>jeecg-cloud-example</module>-->  
21 </modules> 19 </modules>
22 20
23 21