Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(database): 支持多种数据库类型(mysql/gbase/oracle/dm/kingbase/postgresql/h2) & 安全性增强 #3624

Open
wants to merge 72 commits into
base: master
Choose a base branch
from

Conversation

Ice2Faith
Copy link

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Code style update
  • Refactor
  • Build-related changes
  • Other, please describe:

The description of the PR:

Feat(数据库):支持多种数据库类型(mysql/gbase/oracle/dm/kingbase/postgresql/h2)和安全增强

  • 适配数据库类型:mysql/oracle/postgre/gbase/h2
  • 配置:xxl.job.database.platform.type = mysql
  • 密码通过sm2加密而不是原始密码进行HTTP传输
  • 密码数据库存储由BCryptPasswordEncoder代替MD5
  • Cookie令牌加密sm2,而不是十六进制json字节
  • 支持初始化DDL SQL启动时自动运行
  • 配置:xxl.job.database.init.enable = true
  • 调整logback输出配置
  • 单机模式下,使用ReentrantLock代替数据库锁(select…更新)
  • 配置:xxl.job.database.platform.standalone = true
  • 将Collection.size()和String.length()的代码风格重构为StringUtils.hasText()或Collection.isEmpty()

Other information:

  • 使用,可以下载本fork分支仓库的release包(xxl-job-admin-all.tar.gz)

Ice2Faith and others added 30 commits May 25, 2024 20:33
1.  adapt database type: mysql/oracle/postgre/gbase/h2
config: xxl.job.database.platform.type=mysql
2.  password http tansfer by sm2 encrypt instead of raw password
3.  password database store by BCryptPasswordEncoder instead of MD5
4.  cookie token encrypt by sm2 instead of hexed json bytes
5.  support initialize ddl sql auto-run with startup
config: xxl.job.database.init.enable=true
6.  adjust logback output config
7.  standalone mode, use ReentrantLock instead of database lock(select ...  for update)
config: xxl.job.database.platform.standalone=true
8. refactor code style for Collection.size() and String.length() to StringUtils.hasText() or Collection.isEmpty()
…age column

docs(adapt): add adapt guide document 'how_to_adapt.md'
feat(platform): separate database platform pageable & date add/sub
style(login): adjust login page css style
feat(job-log): job log page add column group-title & job-desc
feat(sqlserver): adapt for sqlserver >= 2012
docs(readme.multiply): update readme.multiply & preview images
feat(baseline): sync baseline code with springboot3
# Conflicts:
#	xxl-job-admin/pom.xml
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobUserController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/core/cron/CronExpression.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java
# Conflicts:
#	pom.xml
#	xxl-job-admin/pom.xml
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java
Ice2Faith added 28 commits December 13, 2024 20:22
# Conflicts:
#	xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java
# Conflicts:
#	xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java
# Conflicts:
#	xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java
# Conflicts:
#	xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java
# Conflicts:
#	doc/db/tables_xxl_job.sql
#	xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
#	xxl-job-admin/src/main/resources/application.properties
#	xxl-job-admin/src/main/resources/i18n/message_zh_CN.properties
#	xxl-job-admin/src/main/resources/i18n/message_zh_TC.properties
#	xxl-job-admin/src/main/resources/static/js/login.1.js
# Conflicts:
#	pom.xml
# Conflicts:
#	pom.xml
#	xxl-job-admin/pom.xml
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobUserController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/resolver/WebExceptionResolver.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/core/alarm/impl/EmailJobAlarm.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/LoginService.java
#	xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobInfoDaoTest.java
#	xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java
# Conflicts:
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/WebMvcConfig.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobAdminConfig.java
#	xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
#	xxl-job-core/src/main/java/com/xxl/job/core/glue/impl/SpringGlueFactory.java
@Ice2Faith
Copy link
Author

PR从原来的#3462(springboot2)更改到此PR #3624(springboot3)版本,同时同步更新官方最新更新代码

@Ice2Faith
Copy link
Author

体验使用,下载本fork仓库的release发布包: xxl-job-admin-all.tar.gz
下载链接:https://github.com/Ice2Faith/xxl-job/releases
镜像仓库链接:https://gitee.com/ice2faith/xxl-job/releases
解包,进入xxl-job-admin
编辑配置文件,resources/application-dev.properties
更改数据库连接到h2
默认会自动创建表结构
等待启动完毕之后,浏览器访问 http://localhost:8080/xxl-job-admin
登录:admin/123456

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant