1

我正在尝试覆盖 RedisCustomConversions [初始帖子](使用 Redis 存储库的 RedisCustomConversions注意到一些不一致的行为。

当我从 IDE 运行 spring boot 应用程序时,我得到了上面帖子中提到的错误,但如果使用java -jar myapp.jar执行应用程序,它工作正常。这听起来不错,但这让我怀疑这种行为是否一致?即,我的重载 bean 会一直连接吗?还是随机的?

我还从/actuator/beans端点注意到,当在 IDE 中执行时,我得到了这个

redisCustomConversions: {
  aliases: [ ],
  scope: "singleton",
  type: "org.springframework.data.redis.core.convert.RedisCustomConversions",
  dependencies: []

但是从命令行运行我看到了这一点。

redisCustomConversions: {
  aliases: [ ],
  scope: "singleton",
  type: "org.springframework.data.redis.core.convert.RedisCustomConversions",
  resource: "class path resource [com/my/project/cache/config/RedisConfig.class]",
  dependencies: [
   "MyWriterConverter",
   "MyReaderConverter"
]

所以问题是,我们可以依赖这种行为吗?或者它是随机的,对于某些部署,将加载默认的 RedisCustomConversions,而对于其他我的自定义 RedisCustomConversions 将被加载(这会使应用程序崩溃,因为 REDIS 中的数据格式会不同)?

4

1 回答 1

1

我遇到了和你一样的问题,在我的头撞到墙上的时间比我想承认的要长之后,我在 spring-data gitter 中询问了。他们是这样回应的:

使用 Spring Boot 时,需要在同一个配置类上声明@EnableRedisRepositories@Bean定义。RedisCustomConversions这是目前@EnableRedisRepositories构建方式的限制。

于 2020-09-02T13:34:23.610 回答