SpringBoot-MongoDB 索引冲突分析及解决

https://blog.csdn.net/devcloud/article/details/100119386 

按这个方法发现解决不了问题……

1. mapping-converter bean生成的时候 就已经在 spring里注册了 MongoPersistentEntityIndexCreator的监听了。

2. 单纯声明 customIndexCreator 不能接管 事件,而是会两个监听都执行。

————————9月20日更新————————

1. bean的问题 好解决,只要beanName设置为 [indexCreationHelper] 那么在 MongoTemplate的prepareIndexCreator中获取的indexCreator就只有1个了

*要注意 customIndexCreator 必须继承 MongoPersistentEntityIndexCreator

2. 但另一个问题 MongoPersistentEntityIndexCreator 在构造函数中,即调用了  checkForIndexes(entity);  而 checkForIndexes 正是报错的关键

3. 因此 出现了两个问题 : A. custonIndexCreator 不能调用 MongoPersistentEntityIndexCreator 的构造 ;B. MongoTemplate的构造函数中 new了 MongoPersistentEntityIndexCreator 

4. A问题的解决 可以靠,自身保存真正的 context,然后 new一个 MongoMappingContext 给父类的构造函数 来解决

5. B问题……

——未完待续——

转载于:https://www.cnblogs.com/kalajiadisi/p/11551879.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值