JeecgBoot 2.4.2 积木报表版本发布,基于SpringBoot的低代码平台

This commit is contained in:
zhangdaiscott
2021-01-25 14:30:37 +08:00
parent b5488231cb
commit bac98af0b7
258 changed files with 23672 additions and 13258 deletions
@@ -1,7 +0,0 @@
# 服务化改造手册
~~~
注意 :启动服务跨域问题处理
1、需要将common 模块的 WebMvcConfiguration corsFilter 注掉 后面做成注解切换
2、org.jeecg.config.shiro.filters.JwtFilter类的 65行,跨域代码注释掉
~~~
@@ -0,0 +1,70 @@
version: '2'
services:
jeecg-boot-mysql:
build:
context: ../db
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_ROOT_HOST: '%'
TZ: Asia/Shanghai
restart: always
container_name: jeecg-boot-mysql
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
--default-authentication-plugin=caching_sha2_password
ports:
- 3306:3306
jeecg-boot-redis:
image: redis:5.0
ports:
- 6379:6379
restart: always
container_name: jeecg-boot-redis
hostname: jeecg-boot-redis
jeecg-boot-rabbitmq:
# image: rabbitmq:3-management
image: rabbitmq:3
ports:
- 5672:5672
# - 15672:15672
restart: always
container_name: jeecg-boot-rabbitmq
hostname: jeecg-boot-rabbitmq
jeecg-boot-nacos:
restart: always
image: nacos/nacos-server
container_name: jeecg-boot-nacos
hostname: jeecg-boot-nacos
ports:
- 8848:8848
environment:
MODE: standalone
jeecg-boot-gateway:
build:
context: ./jeecg-cloud-gateway
ports:
- 9999:9999
container_name: jeecg-boot-gateway
hostname: jeecg-boot-gateway
jeecg-boot-system:
depends_on:
- jeecg-boot-mysql
- jeecg-boot-redis
- jeecg-boot-nacos
build:
context: ./jeecg-cloud-system-start
container_name: jeecg-boot-system
hostname: jeecg-boot-system
restart: on-failure
environment:
- TZ=Asia/Shanghai
@@ -1,5 +0,0 @@
server:
port: 7002
spring:
application:
name: jeecg-cloud-demo
@@ -0,0 +1,16 @@
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER jeecgos@163.com
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN mkdir -p /jeecg-cloud-demo
WORKDIR /jeecg-cloud-demo
EXPOSE 7001
ADD ./target/jeecg-cloud-demo-2.4.2.jar ./
CMD java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-demo-2.4.2.jar
@@ -5,11 +5,11 @@
<parent>
<artifactId>jeecg-cloud-module</artifactId>
<groupId>org.jeecgframework.boot</groupId>
<version>2.4.0</version>
<version>2.4.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jeecg-cloud-demo</artifactId>
<description>jeecg-cloud-demo示例模块</description>
<artifactId>jeecg-cloud-example</artifactId>
<description>jeecg-cloud-example 微服务测试例子</description>
<dependencies>
<!-- 引入jeecg-boot-starter-cloud依赖-->
<dependency>
@@ -9,9 +9,9 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableScheduling
@EnableFeignClients(basePackages = {"org.jeecg"})
@SpringBootApplication(scanBasePackages = "org.jeecg")
public class JeecgCloudDemoApplication {
public class JeecgCloudExampleApplication {
public static void main(String[] args) {
SpringApplication.run(JeecgCloudDemoApplication.class, args);
SpringApplication.run(JeecgCloudExampleApplication.class, args);
}
}
@@ -17,7 +17,7 @@ import java.util.List;
*
*/
@Slf4j
@Api(tags = "jeecg-cloud-demo")
@Api(tags = "jeecg-demo")
@RestController
@RequestMapping("/test")
public class JeecgDemoController {
@@ -0,0 +1,5 @@
server:
port: 7003
spring:
application:
name: jeecg-cloud-example
@@ -5,7 +5,7 @@
<parent>
<artifactId>jeecg-cloud-module</artifactId>
<groupId>org.jeecgframework.boot</groupId>
<version>2.4.0</version>
<version>2.4.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -86,9 +86,6 @@ public class DynamicRouteLoader implements ApplicationEventPublisherAware {
String dataType = GatewayRoutersConfiguration.DATA_TYPE;
if (!RouterDataType.yml.toString().endsWith(dataType)) {
this.init();
// 触发默认路由刷新事件,刷新缓存路由
this.publisher.publishEvent(new RefreshRoutesEvent(this));
log.info("路由已刷新..............");
}
return Mono.empty();
}
@@ -135,7 +132,7 @@ public class DynamicRouteLoader implements ApplicationEventPublisherAware {
if (configService == null) {
log.warn("initConfigService fail");
}
String configInfo = redisClient.get("geteway_routes");
String configInfo = redisClient.get("gateway_routes");
if (StringUtils.isNotBlank(configInfo)) {
log.info("获取网关当前配置:\r\n{}", configInfo);
JSONArray array = JSON.parseArray(configInfo);
@@ -24,7 +24,7 @@ spring:
- id: jeecg-system
uri: lb://jeecg-system
predicates:
- Path=/sys/**,/eoa/**,/joa/**,/online/**,/bigscreen/**,/jmreport/**,/desform/**,/act/**,/plug-in/**,/generic/**,/druid/**
- Path=/sys/**,/eoa/**,/v1/**,/joa/**,/online/**,/bigscreen/**,/jmreport/**,/desform/**,/act/**,/plug-in/**,/generic/**
- id: jeecg-system-websocket
uri: lb:ws://jeecg-system
predicates:
@@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!--定义日志文件的存储地址 -->
<property name="LOG_HOME" value="../logs" />
<!--<property name="COLOR_PATTERN" value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta( %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''})- %gray(%msg%xEx%n)" />-->
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern>-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}:%L) - %msg%n</pattern>
</encoder>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名 -->
<FileNamePattern>${LOG_HOME}/jeecgboot-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数 -->
<MaxHistory>30</MaxHistory>
<maxFileSize>10MB</maxFileSize>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern>
</encoder>
</appender>
<!-- 生成 error html格式日志开始 -->
<appender name="HTML" class="ch.qos.logback.core.FileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<!--设置日志级别,过滤掉info日志,只输入error日志-->
<level>ERROR</level>
</filter>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="ch.qos.logback.classic.html.HTMLLayout">
<pattern>%p%d%msg%M%F{32}%L</pattern>
</layout>
</encoder>
<file>${LOG_HOME}/error-log.html</file>
</appender>
<!-- 生成 error html格式日志结束 -->
<!--myibatis log configure -->
<logger name="com.apache.ibatis" level="TRACE" />
<logger name="java.sql.Connection" level="DEBUG" />
<logger name="java.sql.Statement" level="DEBUG" />
<logger name="java.sql.PreparedStatement" level="DEBUG" />
<!-- 日志输出级别 -->
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<appender-ref ref="HTML" />
</root>
</configuration>
@@ -5,7 +5,7 @@
<parent>
<artifactId>jeecg-cloud-module</artifactId>
<groupId>org.jeecgframework.boot</groupId>
<version>2.4.0</version>
<version>2.4.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jeecg-cloud-monitor</artifactId>
@@ -1,8 +1,6 @@
server:
port: 9111
spring:
main:
allow-bean-definition-overriding: true
boot:
admin:
ui:
@@ -0,0 +1,16 @@
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER jeecgos@163.com
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN mkdir -p /jeecg-cloud-system
WORKDIR /jeecg-cloud-system
EXPOSE 7001
ADD ./target/jeecg-cloud-system-start-2.4.2.jar ./
CMD java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-system-start-2.4.2.jar
@@ -5,7 +5,7 @@
<parent>
<artifactId>jeecg-cloud-module</artifactId>
<groupId>org.jeecgframework.boot</groupId>
<version>2.4.0</version>
<version>2.4.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jeecg-cloud-system-start</artifactId>
@@ -29,16 +29,16 @@
</exclusion>
</exclusions>
</dependency>
<!--rabbitmq消息队列-->
<dependency>
<groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-starter-rabbitmq</artifactId>
</dependency>
<!--xxl-job定时任务-->
<dependency>
<groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-starter-job</artifactId>
</dependency>
<!--rabbitmq消息队列
<dependency>
<groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-starter-rabbitmq</artifactId>
</dependency>-->
</dependencies>
<build>
@@ -45,17 +45,4 @@ public class JeecgSystemCloudApplication extends SpringBootServletInitializer {
"----------------------------------------------------------");
}
/**
* tomcat-embed-jasper引用后提示jar找不到的问题
*/
@Bean
public TomcatServletWebServerFactory tomcatFactory() {
return new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
}
};
}
}
@@ -1,29 +1,29 @@
//package org.jeecg.modules.cloud.rabbitmq;
//
//import com.rabbitmq.client.Channel;
//import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
//import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
//import org.jeecg.common.annotation.RabbitComponent;
//import org.jeecg.common.base.BaseMap;
//import org.springframework.amqp.rabbit.annotation.RabbitHandler;
//import org.springframework.amqp.rabbit.annotation.RabbitListener;
//import org.springframework.amqp.support.AmqpHeaders;
//import org.springframework.messaging.handler.annotation.Header;
//
//@RabbitListener(queues = "jeecg_place_order")
//@RabbitComponent(value = "helloReceiver1")
//public class HelloReceiver1 extends BaseRabbiMqHandler<BaseMap> {
//
// @RabbitHandler
// public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
// super.onMessage(baseMap, deliveryTag, channel, new MqListener<BaseMap>() {
// @Override
// public void handler(BaseMap map, Channel channel) {
// //业务处理
// String orderId = map.get("orderId").toString();
// System.out.println("Receiver1 : " + orderId);
// }
// });
// }
//
//}
package org.jeecg.modules.cloud.rabbitmq;
import com.rabbitmq.client.Channel;
import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
import org.jeecg.common.annotation.RabbitComponent;
import org.jeecg.common.base.BaseMap;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.messaging.handler.annotation.Header;
@RabbitListener(queues = "jeecg_place_order")
@RabbitComponent(value = "helloReceiver1")
public class HelloReceiver1 extends BaseRabbiMqHandler<BaseMap> {
@RabbitHandler
public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
super.onMessage(baseMap, deliveryTag, channel, new MqListener<BaseMap>() {
@Override
public void handler(BaseMap map, Channel channel) {
//业务处理
String orderId = map.get("orderId").toString();
System.out.println("Receiver1 : " + orderId);
}
});
}
}
@@ -1,29 +1,29 @@
//package org.jeecg.modules.cloud.rabbitmq;
//
//import com.rabbitmq.client.Channel;
//import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
//import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
//import org.jeecg.common.annotation.RabbitComponent;
//import org.jeecg.common.base.BaseMap;
//import org.springframework.amqp.rabbit.annotation.RabbitHandler;
//import org.springframework.amqp.rabbit.annotation.RabbitListener;
//import org.springframework.amqp.support.AmqpHeaders;
//import org.springframework.messaging.handler.annotation.Header;
//
//@RabbitListener(queues = "jeecg_place_order")
//@RabbitComponent(value = "helloReceiver2")
//public class HelloReceiver2 extends BaseRabbiMqHandler<BaseMap> {
//
// @RabbitHandler
// public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
// super.onMessage(baseMap, deliveryTag, channel, new MqListener<BaseMap>() {
// @Override
// public void handler(BaseMap map, Channel channel) {
// //业务处理
// String orderId = map.get("orderId").toString();
// System.out.println("Receiver2 : " + orderId);
// }
// });
// }
//
//}
package org.jeecg.modules.cloud.rabbitmq;
import com.rabbitmq.client.Channel;
import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
import org.jeecg.common.annotation.RabbitComponent;
import org.jeecg.common.base.BaseMap;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.messaging.handler.annotation.Header;
@RabbitListener(queues = "jeecg_place_order")
@RabbitComponent(value = "helloReceiver2")
public class HelloReceiver2 extends BaseRabbiMqHandler<BaseMap> {
@RabbitHandler
public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
super.onMessage(baseMap, deliveryTag, channel, new MqListener<BaseMap>() {
@Override
public void handler(BaseMap map, Channel channel) {
//业务处理
String orderId = map.get("orderId").toString();
System.out.println("Receiver2 : " + orderId);
}
});
}
}
@@ -1,29 +1,29 @@
//package org.jeecg.modules.cloud.rabbitmq;
//
//import com.rabbitmq.client.Channel;
//import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
//import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
//import org.jeecg.common.annotation.RabbitComponent;
//import org.jeecg.common.base.BaseMap;
//import org.springframework.amqp.rabbit.annotation.RabbitHandler;
//import org.springframework.amqp.rabbit.annotation.RabbitListener;
//import org.springframework.amqp.support.AmqpHeaders;
//import org.springframework.messaging.handler.annotation.Header;
//
//@RabbitListener(queues = "jeecg_place_order_time")
//@RabbitComponent(value = "helloTimeReceiver")
//public class HelloTimeReceiver extends BaseRabbiMqHandler<BaseMap> {
//
// @RabbitHandler
// public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
// super.onMessage(baseMap, deliveryTag, channel, new MqListener<BaseMap>() {
// @Override
// public void handler(BaseMap map, Channel channel) {
// //业务处理
// String orderId = map.get("orderId").toString();
// System.out.println("Receiver1 : " + orderId);
// }
// });
// }
//
//}
package org.jeecg.modules.cloud.rabbitmq;
import com.rabbitmq.client.Channel;
import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
import org.jeecg.common.annotation.RabbitComponent;
import org.jeecg.common.base.BaseMap;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.support.AmqpHeaders;
import org.springframework.messaging.handler.annotation.Header;
@RabbitListener(queues = "jeecg_place_order_time")
@RabbitComponent(value = "helloTimeReceiver")
public class HelloTimeReceiver extends BaseRabbiMqHandler<BaseMap> {
@RabbitHandler
public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
super.onMessage(baseMap, deliveryTag, channel, new MqListener<BaseMap>() {
@Override
public void handler(BaseMap map, Channel channel) {
//业务处理
String orderId = map.get("orderId").toString();
System.out.println("Receiver1 : " + orderId);
}
});
}
}
@@ -5,7 +5,7 @@
<parent>
<artifactId>jeecg-cloud-module</artifactId>
<groupId>org.jeecgframework.boot</groupId>
<version>2.4.0</version>
<version>2.4.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
+3 -2
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>jeecg-boot-parent</artifactId>
<groupId>org.jeecgframework.boot</groupId>
<version>2.4.0</version>
<version>2.4.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -16,7 +16,8 @@
<module>jeecg-cloud-gateway</module>
<module>jeecg-cloud-monitor</module>
<module>jeecg-cloud-xxljob</module>
<module>jeecg-cloud-demo</module>
<!-- 微服务测试学习例子
<module>jeecg-cloud-example</module>-->
</modules>