Closed zhangdaiscott closed 2 years ago
3.4.3
vue2
增加shardingjdbc,但是没有效果,原来的数据源和shardingjdbc的数据源冲突吗?是只能保留shardingjdbc的吗?但是删除多数据源会报错,不删除好像shardingjdbc的不生效,但是实际看DataSourcemap里好像两个数据源全都有,求解答使程序正产
1.在jeecg-system-start的pom文件引入了如下坐标
2.yml配置文件如下,也是在jeecg-system-start模块下 server: port: 8080 tomcat: max-swallow-size: -1 error: include-exception: true include-stacktrace: ALWAYS include-message: ALWAYS servlet: context-path: /jeecg-boot compression: enabled: true min-response-size: 1024 mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
management: endpoints: web: exposure: include: metrics,httptrace
spring: shardingsphere: datasource: ds0: type: com.alibaba.druid.pool.DruidDataSource validationQuery: SELECT 1 FROM DUAL url: jdbc:mysql://127.0.0.1:3306/jttx?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai username: root password: 1234 driver-class-name: com.mysql.cj.jdbc.Driver names: ds0 enabled: true props: sql: show: true sharding: tables:
taskinfo: actual-data-nodes: ds0.taskinfo_$->{0..1} key-generator: column: id type: SNOWFLAKW table-strategy: inline: sharding-column: num algorithm-expression: taskinfo_$->{num % 2}
rabbitmq: host: 127.0.0.1 port: 5672 username: guest password: guest
main: allow-circular-references: true servlet: multipart: max-file-size: 10MB max-request-size: 10MB mail: host: smtp.163.com username: jeecgos@163.com password: ?? properties: mail: smtp: auth: true starttls: enable: true required: true
quartz: job-store-type: jdbc initialize-schema: embedded
auto-startup: true #延迟1秒启动定时任务 startup-delay: 1s #启动时更新己存在的Job overwrite-existing-jobs: true properties: org: quartz: scheduler: instanceName: MyScheduler instanceId: AUTO jobStore: class: org.springframework.scheduling.quartz.LocalDataSourceJobStore driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate tablePrefix: QRTZ_ isClustered: true misfireThreshold: 12000 clusterCheckinInterval: 15000 threadPool: class: org.quartz.simpl.SimpleThreadPool threadCount: 10 threadPriority: 5 threadsInheritContextClassLoaderOfInitializingThread: true
jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 jpa: open-in-view: false aop: proxy-target-class: true
freemarker:
suffix: .ftl # 设置文档类型 content-type: text/html # 设置页面编码格式 charset: UTF-8 # 设置页面缓存 cache: false prefer-file-system-access: false # 设置ftl文件路径 template-loader-path: - classpath:/templates
mvc: static-path-pattern: /**
pathmatch: matching-strategy: ant_path_matcher
resource: static-locations: classpath:/static/,classpath:/public/ autoconfigure: exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure datasource: primary: sharding druid: stat-view-servlet: enabled: true loginUsername: admin loginPassword: 123456 allow: web-stat-filter: enabled: true dynamic: druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
# 初始化大小,最小,最大 initial-size: 5 min-idle: 5 maxActive: 20 # 配置获取连接等待超时的时间 maxWait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一个连接在池中最小生存的时间,单位是毫秒 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 testWhileIdle: true testOnBorrow: false testOnReturn: false # 打开PSCache,并且指定每个连接上PSCache的大小 poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 20 # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 filters: stat,wall,slf4j # 通过connectProperties属性来打开mergeSql功能;慢SQL记录 connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 datasource: master: url: jdbc:mysql://127.0.0.1:3306/jttx?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai username: root password: 1234 driver-class-name: com.mysql.cj.jdbc.Driver # 多数据源配置 #multi-datasource1: #url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai #username: root #password: root #driver-class-name: com.mysql.cj.jdbc.Driver
redis: database: 0 host: 127.0.0.1 port: 6379 password: ''
mybatis-plus: mapper-locations: classpath*:org/jeecg/modules/*/xml/Mapper.xml global-config:
banner: false db-config: #主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)"; id-type: ASSIGN_ID # 默认数据库表下划线命名 table-underline: true
configuration:
#log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 返回类型为Map,显示null对应的字段 call-setters-on-nulls: true
minidao: base-package: org.jeecg.modules.jmreport.* jeecg:
safeMode: false
signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
signUrls: /sys/dict/getDictItems/,/sys/dict/loadDict/,/sys/dict/loadDictOrderByValue/,/sys/dict/loadDictItem/,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys
uploadType: local
domainUrl: pc: http://localhost:3100 app: http://localhost:8051 path:
upload: /opt/upFiles #webapp文件路径 webapp: /opt/webapp
shiro: excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/,/category/,/visual/,/map/,/jmreport/bigscreen2/**
oss: accessKey: ?? secretKey: ?? endpoint: oss-cn-beijing.aliyuncs.com bucketName: jeecgdev
elasticsearch: cluster-name: jeecg-ES cluster-nodes: 127.0.0.1:9200 check-enabled: false
file-view-domain: 127.0.0.1:8012
minio: minio_url: http://minio.jeecg.com minio_name: ?? minio_pass: ?? bucketName: otatest
jmreport: mode: dev
saas: false #是否需要校验token is_verify_token: true #必须校验方法 verify_methods: remove,delete,save,add,update
xxljob: enabled: false adminAddresses: http://127.0.0.1:9080/xxl-job-admin appname: ${spring.application.name} accessToken: '' address: 127.0.0.1:30007 ip: 127.0.0.1 port: 30007 logPath: logs/jeecg/job/jobhandler/ logRetentionDays: 30
redisson: address: 127.0.0.1:6379 password: type: STANDALONE enabled: true
cas: prefixUrl: http://cas.example.org:8443/cas
logging: level: org.jeecg.modules.system.mapper: info
knife4j:
enable: true
production: false basic: enable: false username: jeecg password: jeecg1314
justauth: enabled: true type: GITHUB: client-id: ?? client-secret: ?? redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/github/callback WECHAT_ENTERPRISE: client-id: ?? client-secret: ?? redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback agent-id: ?? DINGTALK: client-id: ?? client-secret: ?? redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/dingtalk/callback WECHAT_OPEN: client-id: ?? client-secret: ?? redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_open/callback cache: type: default prefix: 'demo::' timeout: 1h
third-app: enabled: false type:
WECHAT_ENTERPRISE: enabled: false #CORP_ID client-id: ?? #SECRET client-secret: ?? #自建应用id agent-id: ?? #自建应用秘钥(新版企微需要配置) # agent-app-secret: ?? #钉钉 DINGTALK: enabled: false # appKey client-id: ?? # appSecret client-secret: ?? agent-id: ??
ip: 127.0.0.1 port: 5478
需要把shardingjdbc的数据源注入dynamic-datasource,重写DataSourceConfiguration配置,将sharding作为主数据源。
yf
参考最新的单体集成文档 https://www.kancloud.cn/zhangdaiscott/jeecg-boot/3085227
我也是要集成 shardingsphere 但是 没有找到你说的这个 lei类
版本号:
3.4.3
前端版本:vue3版?还是 vue2版?
vue2
问题描述:
增加shardingjdbc,但是没有效果,原来的数据源和shardingjdbc的数据源冲突吗?是只能保留shardingjdbc的吗?但是删除多数据源会报错,不删除好像shardingjdbc的不生效,但是实际看DataSourcemap里好像两个数据源全都有,求解答使程序正产
截图&代码:
1.在jeecg-system-start的pom文件引入了如下坐标
2.yml配置文件如下,也是在jeecg-system-start模块下 server: port: 8080 tomcat: max-swallow-size: -1 error: include-exception: true include-stacktrace: ALWAYS include-message: ALWAYS servlet: context-path: /jeecg-boot compression: enabled: true min-response-size: 1024 mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
management: endpoints: web: exposure: include: metrics,httptrace
spring: shardingsphere: datasource: ds0: type: com.alibaba.druid.pool.DruidDataSource validationQuery: SELECT 1 FROM DUAL url: jdbc:mysql://127.0.0.1:3306/jttx?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai username: root password: 1234 driver-class-name: com.mysql.cj.jdbc.Driver names: ds0 enabled: true props: sql: show: true sharding: tables:
分表策略
rabbitmq: host: 127.0.0.1 port: 5672 username: guest password: guest
虚拟host 可以不设置,使用server默认host
virtual-host: /
main: allow-circular-references: true servlet: multipart: max-file-size: 10MB max-request-size: 10MB mail: host: smtp.163.com username: jeecgos@163.com password: ?? properties: mail: smtp: auth: true starttls: enable: true required: true
quartz定时任务,采用数据库方式
quartz: job-store-type: jdbc initialize-schema: embedded
定时任务启动开关,true-开 false-关
json 时间戳统一转换
jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 jpa: open-in-view: false aop: proxy-target-class: true
配置freemarker
freemarker:
设置模板后缀名
设置静态文件路径,js,css等
mvc: static-path-pattern: /**
Spring Boot 2.6+后映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser,需要手动指定为ant-path-matcher
resource: static-locations: classpath:/static/,classpath:/public/ autoconfigure: exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure datasource: primary: sharding druid: stat-view-servlet: enabled: true loginUsername: admin loginPassword: 123456 allow: web-stat-filter: enabled: true dynamic: druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
连接池的配置信息
redis 配置
redis: database: 0 host: 127.0.0.1 port: 6379 password: ''
mybatis plus 设置
mybatis-plus: mapper-locations: classpath*:org/jeecg/modules/*/xml/Mapper.xml global-config:
关闭MP3.0自带的banner
configuration:
这个配置会将执行的sql打印出来,在开发或测试的时候可以用
jeecg专用配置
minidao: base-package: org.jeecg.modules.jmreport.* jeecg:
是否启用安全模式
safeMode: false
签名密钥串(前后端要一致,正式发布请自行修改)
signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
签名拦截接口
signUrls: /sys/dict/getDictItems/,/sys/dict/loadDict/,/sys/dict/loadDictOrderByValue/,/sys/dict/loadDictItem/,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys
local、minio、alioss
uploadType: local
前端访问地址
domainUrl: pc: http://localhost:3100 app: http://localhost:8051 path:
文件上传根目录 设置
shiro: excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/,/category/,/visual/,/map/,/jmreport/bigscreen2/**
阿里云oss存储和大鱼短信秘钥配置
oss: accessKey: ?? secretKey: ?? endpoint: oss-cn-beijing.aliyuncs.com bucketName: jeecgdev
ElasticSearch 6设置
elasticsearch: cluster-name: jeecg-ES cluster-nodes: 127.0.0.1:9200 check-enabled: false
在线预览文件服务器地址配置
file-view-domain: 127.0.0.1:8012
minio文件上传
minio: minio_url: http://minio.jeecg.com minio_name: ?? minio_pass: ?? bucketName: otatest
大屏报表参数设置
jmreport: mode: dev
数据字典是否进行saas数据隔离,自己看自己的字典
xxl-job配置
xxljob: enabled: false adminAddresses: http://127.0.0.1:9080/xxl-job-admin appname: ${spring.application.name} accessToken: '' address: 127.0.0.1:30007 ip: 127.0.0.1 port: 30007 logPath: logs/jeecg/job/jobhandler/ logRetentionDays: 30
分布式锁配置
redisson: address: 127.0.0.1:6379 password: type: STANDALONE enabled: true
cas单点登录
cas: prefixUrl: http://cas.example.org:8443/cas
Mybatis输出sql日志
logging: level: org.jeecg.modules.system.mapper: info
swagger
knife4j:
开启增强配置
enable: true
开启生产环境屏蔽
production: false basic: enable: false username: jeecg password: jeecg1314
第三方登录
justauth: enabled: true type: GITHUB: client-id: ?? client-secret: ?? redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/github/callback WECHAT_ENTERPRISE: client-id: ?? client-secret: ?? redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback agent-id: ?? DINGTALK: client-id: ?? client-secret: ?? redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/dingtalk/callback WECHAT_OPEN: client-id: ?? client-secret: ?? redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_open/callback cache: type: default prefix: 'demo::' timeout: 1h
第三方APP对接
third-app: enabled: false type:
企业微信
ip: 127.0.0.1 port: 5478
友情提示(为了提高issue处理效率):