lineNumber: 1; columnNumber: 1; 前言中不允许有内容

2023-03-30 Views bug日志271字2 min read

bug日志

Line 1 in XML document from class path resource [application.yml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。

有可能是yml配置文件编码的问题utf-8 选择没有Bom的

排错发现是redis的配置。。。。

正确配置:

  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    password: 123456
    timeout: 1000
    jedis:
      pool:
        max-active: 8
        max-wait: -1
        max-idle: 8
        min-idle: 0

是jedis:不是lettuce:
用啥东西就写啥,不要瞎写。。。。之前用lettcue没有引入包。。。
两者区别:

Jedis在实现上是直接连接的redis server,如果在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个Jedis实例增加物理连接

Lettuce的连接是基于Netty的,连接实例(StatefulRedisConnection)可以在多个线程间并发访问,应为StatefulRedisConnection是线程安全的,所以一个连接实例(StatefulRedisConnection)就可以满足多线程环境下的并发访问,当然这个也是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。

EOF