正在尋求讓人們考慮如何對應用程序的領域模型對象進行更改以使Lucene索引保持最新。通過領域模型更改保持Lucene索引的最新策略
有問題的應用程序是使用Hibernate的基於Java/J2EE的Web應用程序。我目前的工作方式是Hibernate映射模型對象都實現了一個公共的「可索引」接口,該接口可以返回一組記錄在Lucene中的鍵/值對。每當涉及這樣一個對象的CRUD操作被執行時,我通過JMS隊列將它發送到一個消息驅動的bean中,該消息驅動的bean在Lucene中記錄對象的主鍵和從Indexable對象的index()方法返回的鍵/值對,提供。
我對這種方案的主要擔心是,如果MDB落後,無法跟上即將到來的索引操作,或者某種錯誤/異常會阻止對象成爲索引。結果是一個過時的索引或者一段很長的時間。
基本上我只是想知道別的什麼樣的策略提出這種事情。不一定要尋找一個正確的答案,但想象的是一系列「白板」的想法,讓我的大腦思考替代方案。