| Oracle provides several interesting mechanisms which we could leverage to detect data changes done by other applications which require an index update.
- Data change notifications allow to trigger registed Java callbacks ("registrations") upon data changes
- Oracle Advanced Queuing provides a persistent JMS queue implementation backed by the database itself; This allows to enqueue messages e.g. via triggers in a transactionally safe fashion, which the HSEARCH application could be consume and trigger index updates from
The second alternative is especially promising, as it will keep index invalidation messages in a persistent queue in case the Java application is offline. I don't think this is something we can do ourselves given our constrained resources, but it may be an interesting feature to be tackled by a contributor or maybe GSoC student. Any feedback welcome. |