Type: New Feature
Status: In Progress
Affects versions: None
Fix versions: None
Relational db provider is a back end processor similarly to LUCENE, JMS and JGROUPS. It stores its scheduled index updates (LuceneWork's) in a database for later processing by a scheduled job. It is designed to work single node environments as well as clustered environments.
- Once persisted to the database, scheduled index updates are not lost in case of node crashes
- No need for specifying master/slave roles in a cluster
As with the JMS provider you have to define a job that run in a single or multiple nodes. This job is responsible for calling the method for process the stored workers and write them to the index. This can, for example, be done with Quartz or a Wildfly HA singleton etc.
The relational db provider should support non ORM and existing ORM by piggybacking on the existing service. Optionally support for including the backend operation in the main transaction when storing the entity in the database. See http://in.relation.to/2015/07/09/hibernate-search-jms-transaction/