diff --git a/config/dev/datasource.yml b/config/dev/datasource.yml index 7d0989f8..638032c0 100644 --- a/config/dev/datasource.yml +++ b/config/dev/datasource.yml @@ -16,7 +16,7 @@ datasource: spring: datasource: - type: com.alibaba.druid.pool.DruidDataSource + type: com.zaxxer.hikari.HikariDataSource # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content dynamic: # 性能分析插件(有性能损耗 不建议生产环境使用) @@ -25,21 +25,21 @@ spring: seata: true # 严格模式 匹配不到数据源则报错 strict: true - druid: - initial-size: 5 - min-idle: 5 - maxActive: 20 - maxWait: 60000 - timeBetweenEvictionRunsMillis: 60000 - minEvictableIdleTimeMillis: 300000 - validationQuery: SELECT 1 FROM DUAL - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - poolPreparedStatements: true - maxPoolPreparedStatementPerConnectionSize: 20 - filters: stat,slf4j - connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 + hikari: + # 最大连接池数量 + maxPoolSize: 20 + # 最小空闲线程数量 + minIdle: 10 + # 配置获取连接等待超时的时间 + connectionTimeout: 10000 + # 校验超时时间 + validationTimeout: 5000 + # 空闲连接存活最大时间,默认10分钟 + idleTimeout: 60000 + # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认30分钟 + maxLifetime: 900000 + # 连接测试query(配置检测连接是否有效) + connectionTestQuery: SELECT 1 # seata配置 seata: diff --git a/config/dev/ruoyi-gen.yml b/config/dev/ruoyi-gen.yml index f87dfbaa..fc68e409 100644 --- a/config/dev/ruoyi-gen.yml +++ b/config/dev/ruoyi-gen.yml @@ -6,6 +6,7 @@ spring: datasource: # 主库数据源 master: + type: ${spring.datasource.type} driver-class-name: com.mysql.cj.jdbc.Driver url: ${datasource.system-master.url} username: ${datasource.system-master.username} @@ -13,6 +14,7 @@ spring: # 从库数据源 #slave: # lazy: true + # type: ${spring.datasource.type} # driver-class-name: # url: # username: diff --git a/config/dev/ruoyi-job.yml b/config/dev/ruoyi-job.yml index ed0bf037..cd0ad096 100644 --- a/config/dev/ruoyi-job.yml +++ b/config/dev/ruoyi-job.yml @@ -6,6 +6,7 @@ spring: datasource: # 主库数据源 master: + type: ${spring.datasource.type} driver-class-name: com.mysql.cj.jdbc.Driver url: ${datasource.job.url} username: ${datasource.job.username} diff --git a/config/dev/ruoyi-resource.yml b/config/dev/ruoyi-resource.yml index c0322b2e..1b455e67 100644 --- a/config/dev/ruoyi-resource.yml +++ b/config/dev/ruoyi-resource.yml @@ -6,16 +6,11 @@ spring: datasource: # 主库数据源 master: + type: ${spring.datasource.type} driver-class-name: com.mysql.cj.jdbc.Driver url: ${datasource.system-master.url} username: ${datasource.system-master.username} password: ${datasource.system-master.password} - # 从库数据源 - # slave: - # driver-class-name: - # url: - # username: - # password: mail: enabled: false diff --git a/config/dev/ruoyi-system.yml b/config/dev/ruoyi-system.yml index 6b3d4683..7df4dd94 100644 --- a/config/dev/ruoyi-system.yml +++ b/config/dev/ruoyi-system.yml @@ -6,12 +6,14 @@ spring: datasource: # 主库数据源 master: + type: ${spring.datasource.type} driver-class-name: com.mysql.cj.jdbc.Driver url: ${datasource.system-master.url} username: ${datasource.system-master.username} password: ${datasource.system-master.password} # 从库数据源 # slave: + # type: ${spring.datasource.type} # driver-class-name: # url: # username: diff --git a/config/dev/seata-server.properties b/config/dev/seata-server.properties index ca4ee396..739a539d 100644 --- a/config/dev/seata-server.properties +++ b/config/dev/seata-server.properties @@ -15,7 +15,7 @@ store.session.mode=db store.publicKey= #These configurations are required if the `store mode` is `db`. If `store.mode,store.lock.mode,store.session.mode` are not equal to `db`, you can remove the configuration block. -store.db.datasource=druid +store.db.datasource=hikari store.db.dbType=mysql store.db.driverClassName=com.mysql.cj.jdbc.Driver store.db.url=jdbc:mysql://127.0.0.1:3306/ry-seata?useUnicode=true&rewriteBatchedStatements=true @@ -30,6 +30,17 @@ store.db.queryLimit=100 store.db.lockTable=lock_table store.db.maxWait=5000 +# redis 模式 store.mode=redis 开启 (控制台查询功能有限,不影响实际执行功能) +# store.redis.host=127.0.0.1 +# store.redis.port=6379 +# 最大连接数 +# store.redis.maxConn=10 +# 最小连接数 +# store.redis.minConn=1 +# store.redis.database=0 +# store.redis.password= +# store.redis.queryLimit=100 + #Transaction rule configuration, only for the server server.recovery.committingRetryPeriod=1000 server.recovery.asynCommittingRetryPeriod=1000 diff --git a/docker/skywalking/README.md b/docker/skywalking/README.md new file mode 100644 index 00000000..07d831c3 --- /dev/null +++ b/docker/skywalking/README.md @@ -0,0 +1,14 @@ +# 说明 +项目使用 `skywalking` 官方 `agent` 探针做了精简和扩充 +
+从官方自带的插件库 删除了项目中大概率不会用到的插件 +
+保留了项目中可能会用到的插件 +
+扩展了一些官方不支持的插件 +
+插件过多会导致很严重的性能问题 建议不要用过多插件 +# 扩展 +项目开发中遇到一些插件包内没有的功能可以去 `skywalking` 官方下载 +
+将下载好的插件放入 `plugins` 目录下即可 \ No newline at end of file diff --git a/docker/skywalking/agent/optional-plugins/apm-ehcache-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/optional-plugins/apm-ehcache-2.x-plugin-8.12.0.jar deleted file mode 100644 index 33ce0b1a..00000000 Binary files a/docker/skywalking/agent/optional-plugins/apm-ehcache-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-fastjson-1.x-plugin-8.12.0.jar b/docker/skywalking/agent/optional-plugins/apm-fastjson-1.x-plugin-8.12.0.jar deleted file mode 100644 index e03e6f12..00000000 Binary files a/docker/skywalking/agent/optional-plugins/apm-fastjson-1.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-gson-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/optional-plugins/apm-gson-2.x-plugin-8.12.0.jar deleted file mode 100644 index 68a3a9ea..00000000 Binary files a/docker/skywalking/agent/optional-plugins/apm-gson-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-jackson-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/optional-plugins/apm-jackson-2.x-plugin-8.12.0.jar deleted file mode 100644 index b6b29e82..00000000 Binary files a/docker/skywalking/agent/optional-plugins/apm-jackson-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-quartz-scheduler-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/optional-plugins/apm-quartz-scheduler-2.x-plugin-8.12.0.jar deleted file mode 100644 index c3b6bcbe..00000000 Binary files a/docker/skywalking/agent/optional-plugins/apm-quartz-scheduler-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-shenyu-2.4.x-plugin-8.12.0.jar b/docker/skywalking/agent/optional-plugins/apm-shenyu-2.4.x-plugin-8.12.0.jar deleted file mode 100644 index ca42afa7..00000000 Binary files a/docker/skywalking/agent/optional-plugins/apm-shenyu-2.4.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/trace-sampler-cpu-policy-plugin-8.12.0.jar b/docker/skywalking/agent/optional-plugins/trace-sampler-cpu-policy-plugin-8.12.0.jar deleted file mode 100644 index 7ff6d6c4..00000000 Binary files a/docker/skywalking/agent/optional-plugins/trace-sampler-cpu-policy-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-reporter-plugins/kafka-reporter-plugin-8.12.0.jar b/docker/skywalking/agent/optional-reporter-plugins/kafka-reporter-plugin-8.12.0.jar deleted file mode 100644 index bbccb541..00000000 Binary files a/docker/skywalking/agent/optional-reporter-plugins/kafka-reporter-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-reporter-plugins/lz4-java-1.6.0.jar b/docker/skywalking/agent/optional-reporter-plugins/lz4-java-1.6.0.jar deleted file mode 100644 index ad5de824..00000000 Binary files a/docker/skywalking/agent/optional-reporter-plugins/lz4-java-1.6.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-reporter-plugins/snappy-java-1.1.7.3.jar b/docker/skywalking/agent/optional-reporter-plugins/snappy-java-1.1.7.3.jar deleted file mode 100644 index afda191f..00000000 Binary files a/docker/skywalking/agent/optional-reporter-plugins/snappy-java-1.1.7.3.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-reporter-plugins/zstd-jni-1.4.3-1.jar b/docker/skywalking/agent/optional-reporter-plugins/zstd-jni-1.4.3-1.jar deleted file mode 100644 index 9fb89a45..00000000 Binary files a/docker/skywalking/agent/optional-reporter-plugins/zstd-jni-1.4.3-1.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-activemq-5.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-activemq-5.x-plugin-8.12.0.jar deleted file mode 100644 index f288bd08..00000000 Binary files a/docker/skywalking/agent/plugins/apm-activemq-5.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-armeria-0.84.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-armeria-0.84.x-plugin-8.12.0.jar deleted file mode 100644 index 433464c2..00000000 Binary files a/docker/skywalking/agent/plugins/apm-armeria-0.84.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-armeria-0.85.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-armeria-0.85.x-plugin-8.12.0.jar deleted file mode 100644 index 6a7d4ad2..00000000 Binary files a/docker/skywalking/agent/plugins/apm-armeria-0.85.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-asynchttpclient-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-asynchttpclient-2.x-plugin-8.12.0.jar deleted file mode 100644 index bab55c57..00000000 Binary files a/docker/skywalking/agent/plugins/apm-asynchttpclient-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-avro-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-avro-plugin-8.12.0.jar deleted file mode 100644 index 1c6f5efc..00000000 Binary files a/docker/skywalking/agent/plugins/apm-avro-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-cassandra-java-driver-3.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-cassandra-java-driver-3.x-plugin-8.12.0.jar deleted file mode 100644 index de291564..00000000 Binary files a/docker/skywalking/agent/plugins/apm-cassandra-java-driver-3.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-clickhouse-0.3.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-clickhouse-0.3.x-plugin-8.12.0.jar deleted file mode 100644 index f1ed59bd..00000000 Binary files a/docker/skywalking/agent/plugins/apm-clickhouse-0.3.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-customize-enhance-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-customize-enhance-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-customize-enhance-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-customize-enhance-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/plugins/apm-cxf-3.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-cxf-3.x-plugin-8.12.0.jar deleted file mode 100644 index 2bedf2cd..00000000 Binary files a/docker/skywalking/agent/plugins/apm-cxf-3.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-elastic-job-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-elastic-job-2.x-plugin-8.12.0.jar deleted file mode 100644 index 88c388ec..00000000 Binary files a/docker/skywalking/agent/plugins/apm-elastic-job-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-elasticjob-3.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-elasticjob-3.x-plugin-8.12.0.jar deleted file mode 100644 index 15fa3ccf..00000000 Binary files a/docker/skywalking/agent/plugins/apm-elasticjob-3.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-elasticsearch-5.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-elasticsearch-5.x-plugin-8.12.0.jar deleted file mode 100644 index 1624d032..00000000 Binary files a/docker/skywalking/agent/plugins/apm-elasticsearch-5.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-finagle-6.25.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-finagle-6.25.x-plugin-8.12.0.jar deleted file mode 100644 index 9a34ba1f..00000000 Binary files a/docker/skywalking/agent/plugins/apm-finagle-6.25.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-guava-cache-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-guava-cache-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-guava-cache-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-guava-cache-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/plugins/apm-hbase-1.x-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-hbase-1.x-2.x-plugin-8.12.0.jar deleted file mode 100644 index 9a05ac92..00000000 Binary files a/docker/skywalking/agent/plugins/apm-hbase-1.x-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-hystrix-1.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-hystrix-1.x-plugin-8.12.0.jar deleted file mode 100644 index 962ed31f..00000000 Binary files a/docker/skywalking/agent/plugins/apm-hystrix-1.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/bootstrap-plugins/apm-jdk-http-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-jdk-http-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/bootstrap-plugins/apm-jdk-http-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-jdk-http-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/bootstrap-plugins/apm-jdk-threading-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-jdk-threading-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/bootstrap-plugins/apm-jdk-threading-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-jdk-threading-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/bootstrap-plugins/apm-jdk-threadpool-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-jdk-threadpool-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/bootstrap-plugins/apm-jdk-threadpool-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-jdk-threadpool-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/plugins/apm-jetty-client-9.0-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-jetty-client-9.0-plugin-8.12.0.jar deleted file mode 100644 index 208882bd..00000000 Binary files a/docker/skywalking/agent/plugins/apm-jetty-client-9.0-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-jetty-client-9.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-jetty-client-9.x-plugin-8.12.0.jar deleted file mode 100644 index 9d55793d..00000000 Binary files a/docker/skywalking/agent/plugins/apm-jetty-client-9.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-jetty-server-9.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-jetty-server-9.x-plugin-8.12.0.jar deleted file mode 100644 index d7b521f9..00000000 Binary files a/docker/skywalking/agent/plugins/apm-jetty-server-9.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-kotlin-coroutine-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-kotlin-coroutine-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-kotlin-coroutine-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-kotlin-coroutine-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/plugins/apm-kylin-jdbc-2.6.x-3.x-4.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-kylin-jdbc-2.6.x-3.x-4.x-plugin-8.12.0.jar deleted file mode 100644 index b5be0f5c..00000000 Binary files a/docker/skywalking/agent/plugins/apm-kylin-jdbc-2.6.x-3.x-4.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-lettuce-5.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-lettuce-5.x-plugin-8.12.0.jar deleted file mode 100644 index 4008e056..00000000 Binary files a/docker/skywalking/agent/plugins/apm-lettuce-5.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-light4j-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-light4j-plugin-8.12.0.jar deleted file mode 100644 index 863e0e2b..00000000 Binary files a/docker/skywalking/agent/plugins/apm-light4j-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-mongodb-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-mongodb-2.x-plugin-8.12.0.jar deleted file mode 100644 index c6ba2534..00000000 Binary files a/docker/skywalking/agent/plugins/apm-mongodb-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-mybatis-3.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-mybatis-3.x-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-mybatis-3.x-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-mybatis-3.x-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/plugins/apm-mysql-6.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-mysql-6.x-plugin-8.12.0.jar deleted file mode 100644 index a44d2ffe..00000000 Binary files a/docker/skywalking/agent/plugins/apm-mysql-6.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-neo4j-4.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-neo4j-4.x-plugin-8.12.0.jar deleted file mode 100644 index 8413949e..00000000 Binary files a/docker/skywalking/agent/plugins/apm-neo4j-4.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-nutz-http-1.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-nutz-http-1.x-plugin-8.12.0.jar deleted file mode 100644 index 9e4924f9..00000000 Binary files a/docker/skywalking/agent/plugins/apm-nutz-http-1.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-nutz-mvc-annotation-1.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-nutz-mvc-annotation-1.x-plugin-8.12.0.jar deleted file mode 100644 index dc494aa1..00000000 Binary files a/docker/skywalking/agent/plugins/apm-nutz-mvc-annotation-1.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-play-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-play-2.x-plugin-8.12.0.jar deleted file mode 100644 index 27a79600..00000000 Binary files a/docker/skywalking/agent/plugins/apm-play-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-sentinel-1.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-sentinel-1.x-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-sentinel-1.x-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-sentinel-1.x-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/plugins/apm-servicecomb-java-chassis-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-servicecomb-java-chassis-2.x-plugin-8.12.0.jar deleted file mode 100644 index 8ef46581..00000000 Binary files a/docker/skywalking/agent/plugins/apm-servicecomb-java-chassis-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-sharding-sphere-3.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-sharding-sphere-3.x-plugin-8.12.0.jar deleted file mode 100644 index f364d9b7..00000000 Binary files a/docker/skywalking/agent/plugins/apm-sharding-sphere-3.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-solrj-7.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-solrj-7.x-plugin-8.12.0.jar deleted file mode 100644 index 09427100..00000000 Binary files a/docker/skywalking/agent/plugins/apm-solrj-7.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-spring-annotation-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-spring-annotation-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-spring-annotation-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-spring-annotation-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/optional-plugins/apm-spring-cloud-gateway-2.0.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-spring-cloud-gateway-2.0.x-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-spring-cloud-gateway-2.0.x-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-spring-cloud-gateway-2.0.x-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/optional-plugins/apm-spring-cloud-gateway-2.1.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-spring-cloud-gateway-2.1.x-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-spring-cloud-gateway-2.1.x-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-spring-cloud-gateway-2.1.x-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/optional-plugins/apm-spring-cloud-gateway-3.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-spring-cloud-gateway-3.x-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-spring-cloud-gateway-3.x-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-spring-cloud-gateway-3.x-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/optional-plugins/apm-spring-tx-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-spring-tx-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-spring-tx-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-spring-tx-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/optional-plugins/apm-spring-webflux-5.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-spring-webflux-5.x-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-spring-webflux-5.x-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-spring-webflux-5.x-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/plugins/apm-spymemcached-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-spymemcached-2.x-plugin-8.12.0.jar deleted file mode 100644 index 1c4c2e65..00000000 Binary files a/docker/skywalking/agent/plugins/apm-spymemcached-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-struts2-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-struts2-2.x-plugin-8.12.0.jar deleted file mode 100644 index 9281be85..00000000 Binary files a/docker/skywalking/agent/plugins/apm-struts2-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-trace-ignore-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-trace-ignore-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-trace-ignore-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-trace-ignore-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/plugins/apm-vertx-core-3.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-vertx-core-3.x-plugin-8.12.0.jar deleted file mode 100644 index 3270fd7f..00000000 Binary files a/docker/skywalking/agent/plugins/apm-vertx-core-3.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-vertx-core-4.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-vertx-core-4.x-plugin-8.12.0.jar deleted file mode 100644 index 90c7bb2a..00000000 Binary files a/docker/skywalking/agent/plugins/apm-vertx-core-4.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/apm-xmemcached-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-xmemcached-2.x-plugin-8.12.0.jar deleted file mode 100644 index 0c34aa30..00000000 Binary files a/docker/skywalking/agent/plugins/apm-xmemcached-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/optional-plugins/apm-zookeeper-3.4.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/apm-zookeeper-3.4.x-plugin-8.12.0.jar similarity index 100% rename from docker/skywalking/agent/optional-plugins/apm-zookeeper-3.4.x-plugin-8.12.0.jar rename to docker/skywalking/agent/plugins/apm-zookeeper-3.4.x-plugin-8.12.0.jar diff --git a/docker/skywalking/agent/plugins/baidu-brpc-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/baidu-brpc-plugin-8.12.0.jar deleted file mode 100644 index 143ec6bf..00000000 Binary files a/docker/skywalking/agent/plugins/baidu-brpc-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/dbcp-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/dbcp-2.x-plugin-8.12.0.jar deleted file mode 100644 index 4daf4825..00000000 Binary files a/docker/skywalking/agent/plugins/dbcp-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/jedis-2.x-3.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/jedis-2.x-3.x-plugin-8.12.0.jar deleted file mode 100644 index 5cf0ab2f..00000000 Binary files a/docker/skywalking/agent/plugins/jedis-2.x-3.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/jedis-4.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/jedis-4.x-plugin-8.12.0.jar deleted file mode 100644 index c524fad2..00000000 Binary files a/docker/skywalking/agent/plugins/jedis-4.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/jsonrpc4j-1.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/jsonrpc4j-1.x-plugin-8.12.0.jar deleted file mode 100644 index 4a166435..00000000 Binary files a/docker/skywalking/agent/plugins/jsonrpc4j-1.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/micronaut-http-client-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/micronaut-http-client-plugin-8.12.0.jar deleted file mode 100644 index 322c7526..00000000 Binary files a/docker/skywalking/agent/plugins/micronaut-http-client-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/micronaut-http-server-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/micronaut-http-server-plugin-8.12.0.jar deleted file mode 100644 index 40693bb6..00000000 Binary files a/docker/skywalking/agent/plugins/micronaut-http-server-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/motan-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/motan-plugin-8.12.0.jar deleted file mode 100644 index b1c9d245..00000000 Binary files a/docker/skywalking/agent/plugins/motan-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/nats-2.14.x-2.15.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/nats-2.14.x-2.15.x-plugin-8.12.0.jar deleted file mode 100644 index a5cf5ebd..00000000 Binary files a/docker/skywalking/agent/plugins/nats-2.14.x-2.15.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/okhttp-2.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/okhttp-2.x-plugin-8.12.0.jar deleted file mode 100644 index a5762f0d..00000000 Binary files a/docker/skywalking/agent/plugins/okhttp-2.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/resteasy-server-3.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/resteasy-server-3.x-plugin-8.12.0.jar deleted file mode 100644 index f4ebe1ce..00000000 Binary files a/docker/skywalking/agent/plugins/resteasy-server-3.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/resteasy-server-4.x-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/resteasy-server-4.x-plugin-8.12.0.jar deleted file mode 100644 index c1b8fc1c..00000000 Binary files a/docker/skywalking/agent/plugins/resteasy-server-4.x-plugin-8.12.0.jar and /dev/null differ diff --git a/docker/skywalking/agent/plugins/sofa-rpc-plugin-8.12.0.jar b/docker/skywalking/agent/plugins/sofa-rpc-plugin-8.12.0.jar deleted file mode 100644 index f98236d7..00000000 Binary files a/docker/skywalking/agent/plugins/sofa-rpc-plugin-8.12.0.jar and /dev/null differ diff --git a/pom.xml b/pom.xml index 9b605ac8..7d910e42 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,6 @@ 3.5.10 3.5.2 3.9.1 - 1.2.12 3.5.2 2.3 1.2.83 diff --git a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboConsumerFilter.java b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboConsumerFilter.java index 4023dda9..f7518b0d 100644 --- a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboConsumerFilter.java +++ b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboConsumerFilter.java @@ -2,7 +2,7 @@ package cn.dev33.satoken.context.dubbo.filter; import cn.dev33.satoken.SaManager; import cn.dev33.satoken.context.SaTokenContextDefaultImpl; -import cn.dev33.satoken.id.SaIdUtil; +import cn.dev33.satoken.same.SaSameUtil; import cn.dev33.satoken.spring.SaBeanInject; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.util.SaTokenConsts; @@ -29,8 +29,8 @@ public class SaTokenDubboConsumerFilter implements Filter { SpringUtils.getBean(SaBeanInject.class); // 追加 Id-Token 参数 - if(SaManager.getConfig().getCheckIdToken()) { - RpcContext.getServiceContext().setAttachment(SaIdUtil.ID_TOKEN, SaIdUtil.getToken()); + if(SaManager.getConfig().getCheckSameToken()) { + RpcContext.getServiceContext().setAttachment(SaSameUtil.SAME_TOKEN, SaSameUtil.getToken()); } // 1. 调用前,向下传递会话Token diff --git a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboProviderFilter.java b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboProviderFilter.java index 1a3b3346..6436b991 100644 --- a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboProviderFilter.java +++ b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboProviderFilter.java @@ -1,7 +1,7 @@ package cn.dev33.satoken.context.dubbo.filter; import cn.dev33.satoken.SaManager; -import cn.dev33.satoken.id.SaIdUtil; +import cn.dev33.satoken.same.SaSameUtil; import cn.dev33.satoken.spring.SaBeanInject; import com.ruoyi.common.core.utils.SpringUtils; import org.apache.dubbo.common.constants.CommonConstants; @@ -26,9 +26,13 @@ public class SaTokenDubboProviderFilter implements Filter { SpringUtils.getBean(SaBeanInject.class); // RPC 调用鉴权 - if(SaManager.getConfig().getCheckIdToken()) { - String idToken = invocation.getAttachment(SaIdUtil.ID_TOKEN); - SaIdUtil.checkToken(idToken); + if(SaManager.getConfig().getCheckSameToken()) { + String idToken = invocation.getAttachment(SaSameUtil.SAME_TOKEN); + // dubbo部分协议会将参数变为小写,详细参考:https://gitee.com/dromara/sa-token/issues/I4WXQG + if(idToken == null) { + idToken = invocation.getAttachment(SaSameUtil.SAME_TOKEN.toLowerCase()); + } + SaSameUtil.checkToken(idToken); } // 开始调用 diff --git a/ruoyi-common/ruoyi-common-mybatis/pom.xml b/ruoyi-common/ruoyi-common-mybatis/pom.xml index ccab60ca..841dbbc0 100644 --- a/ruoyi-common/ruoyi-common-mybatis/pom.xml +++ b/ruoyi-common/ruoyi-common-mybatis/pom.xml @@ -38,13 +38,6 @@ p6spy - - - com.alibaba - druid-spring-boot-starter - ${druid.version} - - com.baomidou diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/core/OssClient.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/core/OssClient.java index 390b770b..bbfb17ab 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/core/OssClient.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/core/OssClient.java @@ -2,6 +2,7 @@ package com.ruoyi.common.oss.core; import cn.hutool.core.util.IdUtil; import com.amazonaws.ClientConfiguration; +import com.amazonaws.HttpMethod; import com.amazonaws.Protocol; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSCredentialsProvider; @@ -16,13 +17,15 @@ import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.oss.constant.OssConstant; import com.ruoyi.common.oss.entity.UploadResult; +import com.ruoyi.common.oss.enumd.AccessPolicyType; import com.ruoyi.common.oss.enumd.PolicyType; import com.ruoyi.common.oss.exception.OssException; import com.ruoyi.common.oss.properties.OssProperties; - import java.io.ByteArrayInputStream; import java.io.InputStream; +import java.net.URL; +import java.util.Date; /** * S3 存储协议 所有兼容S3协议的云厂商均支持 @@ -80,9 +83,10 @@ public class OssClient { return; } CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName); - createBucketRequest.setCannedAcl(CannedAccessControlList.PublicRead); + AccessPolicyType accessPolicy = getAccessPolicy(); + createBucketRequest.setCannedAcl(accessPolicy.getAcl()); client.createBucket(createBucketRequest); - client.setBucketPolicy(bucketName, getPolicy(bucketName, PolicyType.READ)); + client.setBucketPolicy(bucketName, getPolicy(bucketName, accessPolicy.getPolicyType())); } catch (Exception e) { throw new OssException("创建Bucket失败, 请核对配置信息:[" + e.getMessage() + "]"); } @@ -99,7 +103,7 @@ public class OssClient { metadata.setContentLength(inputStream.available()); PutObjectRequest putObjectRequest = new PutObjectRequest(properties.getBucketName(), path, inputStream, metadata); // 设置上传对象的 Acl 为公共读 - putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead); + putObjectRequest.setCannedAcl(getAccessPolicy().getAcl()); client.putObject(putObjectRequest); } catch (Exception e) { throw new OssException("上传文件失败,请检查配置信息:[" + e.getMessage() + "]"); @@ -112,7 +116,7 @@ public class OssClient { try { client.deleteObject(properties.getBucketName(), path); } catch (Exception e) { - throw new OssException("上传文件失败,请检查配置信息:[" + e.getMessage() + "]"); + throw new OssException("删除文件失败,请检查配置信息:[" + e.getMessage() + "]"); } } @@ -130,10 +134,17 @@ public class OssClient { * @param path 完整文件路径 */ public ObjectMetadata getObjectMetadata(String path) { + path = path.replace(getUrl() + "/", ""); S3Object object = client.getObject(properties.getBucketName(), path); return object.getObjectMetadata(); } + public InputStream getObjectContent(String path) { + path = path.replace(getUrl() + "/", ""); + S3Object object = client.getObject(properties.getBucketName(), path); + return object.getObjectContent(); + } + public String getUrl() { String domain = properties.getDomain(); String endpoint = properties.getEndpoint(); @@ -168,6 +179,25 @@ public class OssClient { return configKey; } + public String getPrivateUrl(String objectKey, Integer second) { + GeneratePresignedUrlRequest generatePresignedUrlRequest = + new GeneratePresignedUrlRequest(properties.getBucketName(), objectKey) + .withMethod(HttpMethod.GET) + .withExpiration(new Date(System.currentTimeMillis() + 1000L * second)); + URL url = client.generatePresignedUrl(generatePresignedUrlRequest); + return url.toString(); + } + + /** + * 获取当前桶权限类型 + * + * @return 当前桶权限类型code + */ + public AccessPolicyType getAccessPolicy() { + return AccessPolicyType.getByType(properties.getAccessPolicy()); + } + + private static String getPolicy(String bucketName, PolicyType policyType) { StringBuilder builder = new StringBuilder(); builder.append("{\n\"Statement\": [\n{\n\"Action\": [\n"); diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/enumd/AccessPolicyType.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/enumd/AccessPolicyType.java new file mode 100644 index 00000000..140f67a9 --- /dev/null +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/enumd/AccessPolicyType.java @@ -0,0 +1,55 @@ +package com.ruoyi.common.oss.enumd; + +import com.amazonaws.services.s3.model.CannedAccessControlList; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 桶访问策略配置 + * + * @author 陈賝 + */ +@Getter +@AllArgsConstructor +public enum AccessPolicyType { + + /** + * private + */ + PRIVATE("0", CannedAccessControlList.Private, PolicyType.WRITE), + + /** + * public + */ + PUBLIC("1", CannedAccessControlList.PublicRead, PolicyType.READ), + + /** + * custom + */ + CUSTOM("2",CannedAccessControlList.PublicRead, PolicyType.READ); + + /** + * 桶 权限类型 + */ + private final String type; + + /** + * 文件对象 权限类型 + */ + private final CannedAccessControlList acl; + + /** + * 桶策略类型 + */ + private final PolicyType policyType; + + public static AccessPolicyType getByType(String type) { + for (AccessPolicyType value : values()) { + if (value.getType().equals(type)) { + return value; + } + } + throw new RuntimeException("'type' not found By " + type); + } + +} diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/properties/OssProperties.java b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/properties/OssProperties.java index 78b62ab4..16cd27be 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/properties/OssProperties.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/com/ruoyi/common/oss/properties/OssProperties.java @@ -50,4 +50,10 @@ public class OssProperties { */ private String isHttps; + /** + * 桶权限类型(0private 1public 2custom) + */ + private String accessPolicy; + + } diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/spy.properties b/ruoyi-modules/ruoyi-gen/src/main/resources/spy.properties index bee2392d..abbd8931 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/resources/spy.properties +++ b/ruoyi-modules/ruoyi-gen/src/main/resources/spy.properties @@ -24,3 +24,5 @@ outagedetection=true outagedetectioninterval=2 # 是否过滤 Log filter=true +# 过滤 Log 时所排除的 sql 关键字,以逗号分隔 +exclude=SELECT 1 diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/SampleService.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/SampleService.java index 20afa2e6..cc3c4d48 100644 --- a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/SampleService.java +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/SampleService.java @@ -39,7 +39,6 @@ public class SampleService { for (int i = 0; i < 5; i++) { XxlJobHelper.log("beat at:" + i); - TimeUnit.SECONDS.sleep(2); } // default success } diff --git a/ruoyi-modules/ruoyi-job/src/main/resources/spy.properties b/ruoyi-modules/ruoyi-job/src/main/resources/spy.properties new file mode 100644 index 00000000..abbd8931 --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/resources/spy.properties @@ -0,0 +1,28 @@ +# p6spy 性能分析插件配置文件 +modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory +# 自定义日志打印 +logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger +#日志输出到控制台 +appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger +# 使用日志系统记录 sql +#appender=com.p6spy.engine.spy.appender.Slf4JLogger +# 设置 p6spy driver 代理 +#deregisterdrivers=true +# 取消JDBC URL前缀 +useprefix=true +# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset. +excludecategories=info,debug,result,commit,resultset +# 日期格式 +dateformat=yyyy-MM-dd HH:mm:ss +# SQL语句打印时间格式 +databaseDialectTimestampFormat=yyyy-MM-dd HH:mm:ss +# 实际驱动可多个 +#driverlist=org.h2.Driver +# 是否开启慢SQL记录 +outagedetection=true +# 慢SQL记录标准 2 秒 +outagedetectioninterval=2 +# 是否过滤 Log +filter=true +# 过滤 Log 时所排除的 sql 关键字,以逗号分隔 +exclude=SELECT 1 diff --git a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/controller/SysOssController.java b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/controller/SysOssController.java index 4c443021..f5e4d7d7 100644 --- a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/controller/SysOssController.java +++ b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/controller/SysOssController.java @@ -2,20 +2,15 @@ package com.ruoyi.resource.controller; import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.http.HttpException; -import cn.hutool.http.HttpUtil; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; -import com.ruoyi.common.core.utils.file.FileUtils; import com.ruoyi.common.core.validate.QueryGroup; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.mybatis.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.TableDataInfo; -import com.ruoyi.resource.domain.SysOss; import com.ruoyi.resource.domain.bo.SysOssBo; import com.ruoyi.resource.domain.vo.SysOssVo; import com.ruoyi.resource.service.ISysOssService; @@ -79,7 +74,7 @@ public class SysOssController extends BaseController { if (ObjectUtil.isNull(file)) { throw new ServiceException("上传文件不能为空"); } - SysOss oss = iSysOssService.upload(file); + SysOssVo oss = iSysOssService.upload(file); Map map = new HashMap<>(2); map.put("url", oss.getUrl()); map.put("fileName", oss.getOriginalName()); @@ -95,23 +90,7 @@ public class SysOssController extends BaseController { @SaCheckPermission("system:oss:download") @GetMapping("/download/{ossId}") public void download(@PathVariable Long ossId, HttpServletResponse response) throws IOException { - SysOssVo sysOss = iSysOssService.getById(ossId); - if (ObjectUtil.isNull(sysOss)) { - throw new ServiceException("文件数据不存在!"); - } - FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName()); - response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8"); - long data; - try { - data = HttpUtil.download(sysOss.getUrl(), response.getOutputStream(), false); - } catch (HttpException e) { - if (e.getMessage().contains("403")) { - throw new ServiceException("无读取权限, 请在对应的OSS开启'公有读'权限!"); - } else { - throw new ServiceException(e.getMessage()); - } - } - response.setContentLength(Convert.toInt(data)); + iSysOssService.download(ossId, response); } /** diff --git a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/SysOssConfig.java b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/SysOssConfig.java index 869648c2..28a4ca23 100644 --- a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/SysOssConfig.java +++ b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/SysOssConfig.java @@ -83,4 +83,8 @@ public class SysOssConfig extends BaseEntity { */ private String remark; + /** + * 桶权限类型(0private 1public 2custom) + */ + private String accessPolicy; } diff --git a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/bo/SysOssConfigBo.java b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/bo/SysOssConfigBo.java index 39f491cf..744b55bb 100644 --- a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/bo/SysOssConfigBo.java +++ b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/bo/SysOssConfigBo.java @@ -98,4 +98,11 @@ public class SysOssConfigBo extends BaseEntity { */ private String remark; + /** + * 桶权限类型(0private 1public 2custom) + */ + @NotBlank(message = "桶权限类型不能为空", groups = {AddGroup.class, EditGroup.class}) + private String accessPolicy; + + } diff --git a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/vo/SysOssConfigVo.java b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/vo/SysOssConfigVo.java index de5297b9..16501c15 100644 --- a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/vo/SysOssConfigVo.java +++ b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/domain/vo/SysOssConfigVo.java @@ -80,4 +80,10 @@ public class SysOssConfigVo { */ private String remark; + /** + * 桶权限类型(0private 1public 2custom) + */ + private String accessPolicy; + + } diff --git a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/service/ISysOssService.java b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/service/ISysOssService.java index cbac3e15..4e613379 100644 --- a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/service/ISysOssService.java +++ b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/service/ISysOssService.java @@ -2,11 +2,12 @@ package com.ruoyi.resource.service; import com.ruoyi.common.mybatis.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.TableDataInfo; -import com.ruoyi.resource.domain.SysOss; import com.ruoyi.resource.domain.bo.SysOssBo; import com.ruoyi.resource.domain.vo.SysOssVo; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.Collection; import java.util.List; @@ -23,7 +24,9 @@ public interface ISysOssService { SysOssVo getById(Long ossId); - SysOss upload(MultipartFile file); + SysOssVo upload(MultipartFile file); + + void download(Long ossId, HttpServletResponse response) throws IOException; Boolean deleteWithValidByIds(Collection ids, Boolean isValid); diff --git a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/service/impl/SysOssServiceImpl.java b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/service/impl/SysOssServiceImpl.java index b655ae7a..54bd1e61 100644 --- a/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/service/impl/SysOssServiceImpl.java +++ b/ruoyi-modules/ruoyi-resource/src/main/java/com/ruoyi/resource/service/impl/SysOssServiceImpl.java @@ -1,17 +1,21 @@ package com.ruoyi.resource.service.impl; +import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.constant.CacheNames; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.BeanCopyUtils; import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.file.FileUtils; import com.ruoyi.common.mybatis.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.TableDataInfo; import com.ruoyi.common.oss.core.OssClient; import com.ruoyi.common.oss.entity.UploadResult; +import com.ruoyi.common.oss.enumd.AccessPolicyType; import com.ruoyi.common.oss.factory.OssFactory; import com.ruoyi.resource.domain.SysOss; import com.ruoyi.resource.domain.bo.SysOssBo; @@ -20,14 +24,18 @@ import com.ruoyi.resource.mapper.SysOssMapper; import com.ruoyi.resource.service.ISysOssService; import lombok.RequiredArgsConstructor; import org.springframework.cache.annotation.Cacheable; +import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 文件上传 服务层实现 @@ -44,6 +52,8 @@ public class SysOssServiceImpl implements ISysOssService { public TableDataInfo queryPageList(SysOssBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + List filterResult = result.getRecords().stream().map(this::matchingUrl).collect(Collectors.toList()); + result.setRecords(filterResult); return TableDataInfo.build(result); } @@ -51,9 +61,9 @@ public class SysOssServiceImpl implements ISysOssService { public List listByIds(Collection ossIds) { List list = new ArrayList<>(); for (Long id : ossIds) { - SysOssVo vo = SpringUtils.getAopProxy(this).getById(id); + SysOssVo vo = getById(id); if (ObjectUtil.isNotNull(vo)) { - list.add(vo); + list.add(this.matchingUrl(vo)); } } return list; @@ -80,13 +90,31 @@ public class SysOssServiceImpl implements ISysOssService { } @Override - public SysOss upload(MultipartFile file) { + public void download(Long ossId, HttpServletResponse response) throws IOException { + SysOssVo sysOss = SpringUtils.getAopProxy(this).getById(ossId); + if (ObjectUtil.isNull(sysOss)) { + throw new ServiceException("文件数据不存在!"); + } + FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName()); + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8"); + OssClient storage = OssFactory.instance(); + try(InputStream inputStream = storage.getObjectContent(sysOss.getUrl())) { + int available = inputStream.available(); + IoUtil.copy(inputStream, response.getOutputStream(), available); + response.setContentLength(available); + } catch (Exception e) { + throw new ServiceException(e.getMessage()); + } + } + + @Override + public SysOssVo upload(MultipartFile file) { String originalfileName = file.getOriginalFilename(); String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length()); OssClient storage = OssFactory.instance(); UploadResult uploadResult; try { - uploadResult = storage.uploadSuffix(file.getBytes(), suffix, file.getContentType()); + uploadResult = storage.uploadSuffix(file.getInputStream(), suffix, file.getContentType()); } catch (IOException e) { throw new ServiceException(e.getMessage()); } @@ -98,7 +126,9 @@ public class SysOssServiceImpl implements ISysOssService { oss.setOriginalName(originalfileName); oss.setService(storage.getConfigKey()); baseMapper.insert(oss); - return oss; + SysOssVo sysOssVo = new SysOssVo(); + BeanCopyUtils.copy(oss, sysOssVo); + return this.matchingUrl(sysOssVo); } @Override @@ -114,4 +144,19 @@ public class SysOssServiceImpl implements ISysOssService { return baseMapper.deleteBatchIds(ids) > 0; } + /** + * 匹配Url + * + * @param oss OSS对象 + * @return oss 匹配Url的OSS对象 + */ + private SysOssVo matchingUrl(SysOssVo oss) { + OssClient storage = OssFactory.instance(oss.getService()); + // 仅修改桶类型为 private 的URL,临时URL时长为120s + if (AccessPolicyType.PRIVATE == storage.getAccessPolicy()) { + oss.setUrl(storage.getPrivateUrl(oss.getFileName(), 120)); + } + return oss; + } + } diff --git a/ruoyi-modules/ruoyi-resource/src/main/resources/spy.properties b/ruoyi-modules/ruoyi-resource/src/main/resources/spy.properties index bee2392d..abbd8931 100644 --- a/ruoyi-modules/ruoyi-resource/src/main/resources/spy.properties +++ b/ruoyi-modules/ruoyi-resource/src/main/resources/spy.properties @@ -24,3 +24,5 @@ outagedetection=true outagedetectioninterval=2 # 是否过滤 Log filter=true +# 过滤 Log 时所排除的 sql 关键字,以逗号分隔 +exclude=SELECT 1 diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/spy.properties b/ruoyi-modules/ruoyi-system/src/main/resources/spy.properties index bee2392d..abbd8931 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/spy.properties +++ b/ruoyi-modules/ruoyi-system/src/main/resources/spy.properties @@ -24,3 +24,5 @@ outagedetection=true outagedetectioninterval=2 # 是否过滤 Log filter=true +# 过滤 Log 时所排除的 sql 关键字,以逗号分隔 +exclude=SELECT 1 diff --git a/ruoyi-ui/src/views/system/oss/config.vue b/ruoyi-ui/src/views/system/oss/config.vue index 54ad98cb..0120641d 100644 --- a/ruoyi-ui/src/views/system/oss/config.vue +++ b/ruoyi-ui/src/views/system/oss/config.vue @@ -80,6 +80,13 @@ + + +