Affects Version/s: 7.0.0 DXP FP58, 7.0.X, 7.1.10 DXP FP2, 7.1.X, Master
Component/s: Search Infrastructure > Framework
Our our DEV article has the following statement:
indexer.class.name: the fully qualified class name of the indexed entity or an Indexer class itself.
In theory, this means that in an IndexerPostProcessor for MBMessage you can set indexer.class.name attribute to either
- com.liferay.message.boards.model.MBMessage (entity class name) or
- com.liferay.message.boards.internal.search.MBMessageIndexer (indexer class name).
In practice, however, IndexerRegistryImpl doesn't handle this interchangeability well. When using the indexer class name, the post processor won't work after restart.
Steps to reproduce
- Start Liferay
- Deploy the attached PostProcessor module
- Post a MB message and verify the below line appears on standard output (FYI: logging configuration didn't work):
- Restart Liferay
- Post a new MB message and check the standard output again for below line:
Expected results: The line appears, the module works.
Actual results: The line doesn't appear, the module doesn't work.
For 7.0.x testing please use the com.liferay.blade.indexer.post.processor-70x-1.0.0.jar and instead of standard output look for the log entries: