我想知道是否可以从休眠搜索 ClassBridge 中使用任何 Spring 服务。
抽象的:
我的实体没有我想放入索引文档的所有信息。我也无法通过@IndexedEmbeded获得它。这些数据来自外部数据源,我有服务提供。这仅在重新索引时需要。当索引单个对象保存服务时,在瞬态实体字段中提供此信息。对于重新索引,我使用 MassIndexer。
我的应用程序在 Spring MVC 环境中工作。我使用注释驱动配置。因此,要访问我的服务,我只需要使用 @Autowired 注释,服务就可以使用了。
解决方案?
当使用 Hibernate Search 时,生活并不是那么容易(或者我不知道它是怎么回事)。
为了获得更多信息,我决定使用ClassBridge。我还实现了从我的 spring 服务中调用的简单MassIndexer过程。
在我的 ClassBridge 中,spring 不会自动装配服务。当我尝试快速解决方法并在 ClassBridge 中使用静态字段并从 MassIndexer 调用者传递服务引用时,发生了另一个问题。服务报告异常“无会话”(sessionFactory.getCurrentSession() 抛出异常)...我不知道该往哪里走。
从 ClassBridge 代码中访问 Spring 服务的推荐方法是什么?
如何从 ClassBridge 中获取活动的休眠会话(或 SessionFactory)?
感谢您的时间并希望您的帮助。