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): support multiply database type & secure enhance #3462

Open
wants to merge 37 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(database): support multiply database type & secure enhance

  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()

Feat(数据库):支持多种数据库类型和安全增强

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

Other information:

image

Ice2Faith added 2 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()
@Ice2Faith
Copy link
Author

learn this change:

  1. dowload below .tar.gz
wget https://github.com/Ice2Faith/xxl-job-multiply/releases/download/2.4.1/xxl-job-admin-all.tar.gz

or

wget https://gitee.com/ice2faith/xxl-job-multiply/releases/download/2.4.1/xxl-job-admin-all.tar.gz
  1. then unpack it
tar -xzvf xxl-job-admin-all.tar.gz
cd xxl-job-admin
  1. change datasoource config from below location to your database or use h2 embed database
vi resources/application-dev.properties

7.then run the jar

java -jar xxl-job-admin.jar

or

./jarctrl.sh restart
  1. browser open it
http://loccalhost:8080/xxl-job-admin
  1. default username & password
admin
123456

Ice2Faith and others added 26 commits May 31, 2024 16:55
…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:
#	xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobScheduleHelper.java
@Ice2Faith
Copy link
Author

fix: 修复部分数据库兼容性BUG,调整部分字段长度,增加密码更新确认输入逻辑

@Ice2Faith
Copy link
Author

feat: 告警邮件配置支持界面配置,避免重启

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