美文网首页
springboot 1.5.X 升级2.X踩坑记录

springboot 1.5.X 升级2.X踩坑记录

作者: BlackWingXu | 来源:发表于2019-07-23 18:18 被阅读0次

    升级SpringBoot 2.1.6RELEASE 目前修改点

    1. org.springframework.security.oauth.config ClientDetailsServiceConfigurer 配置修改

    org.springframework.security.oauth2 配置在此省略
    ClientDetailsServiceConfigurer:这个configurer定义了客户端细节服务修改 重点这里的.secret必须使用加密字符串(无论使用内存 redis 数据库 存放token令牌 )必须要加密校验

           @Override
             public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
                 // @formatter:off
                 clients.inMemory().withClient(CLIENT_ID)
                         .authorizedGrantTypes("password", "refresh_token")
                         .scopes("read", "write", "trust")
                         .resourceIds(RESOURCE_ID)
                         .secret(new BCryptPasswordEncoder().encode(Constant.SECURITY_SERVER))//这里重点 1.5.9版本的jar 无此校验  2.X 后 不加会Encoded password does not look like BCrypt
                         .accessTokenValiditySeconds(Math.toIntExact(TimeUnit.DAYS.toSeconds(30)))
                         .refreshTokenValiditySeconds(Math.toIntExact(TimeUnit.DAYS.toSeconds(30)));
                 // @formatter:on
             }
    

    2. controller 层单独参数就是要默认传 eg: String param param不传过不了框架 可用 @RequestParam(require=false)

    3. 接口URL中不能出现双反斜杠 (调查Spring security 5.X 修改了源码)(调用接口自行检查)

    4. 日期默认返回 UTC 标准格式 而不是1.X版本的long时间戳了

    如果想返回long 时间戳 配置文件

    spring.jackson.serialization.write-dates-as-timestamps = true 
    

    但是 sql 不能使用 UNIX_TIMESTAMP 否则报错 TIMESTAMP cannot Long 个人理解 转两次long 报错

    5. 数据库连接池默认更新为目前口碑性能最强的HikariCP

    ----- Hikari 连接池配置详细配置请访问https://github.com/brettwooldridge/HikariCP

        // 目前配置信息如下(需要根据系统实际使用情况优化)
        spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
        spring.datasource.type=com.zaxxer.hikari.HikariDataSource
        ## 最小空闲连接数量
        spring.datasource.hikari.minimum-idle=5
        ## 空闲连接存活最大时间,默认600000(10分钟)
        spring.datasource.hikari.idle-timeout=180000
        ## 连接池最大连接数,默认是10
        spring.datasource.hikari.maximum-pool-size=10
        ## 此属性控制从池返回的连接的默认自动提交行为,默认值:true
        spring.datasource.hikari.auto-commit=true
        ## 连接池母子
        spring.datasource.hikari.pool-name=MyHikariCP
        ## 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
        spring.datasource.hikari.max-lifetime=1800000
        ## 数据库连接超时时间,默认25秒,即25000 (目前pc web 和接口的超时时间)
        spring.datasource.hikari.connection-timeout=25000
        spring.datasource.hikari.connection-test-query=SELECT 1
    

    相关文章

      网友评论

          本文标题:springboot 1.5.X 升级2.X踩坑记录

          本文链接:https://www.haomeiwen.com/subject/hzialctx.html