Интеграция поиска Hibernate с RabbitMQ для распределенного бэкэнда
Кто-нибудь интегрировал поисковый индекс Hibernate вместо очередей с RabbitMQ или JMS или ActiveMQ.
Мы уже используем RabbitMQ как часть нашего приложения в нескольких различных областях. Мы не хотим внедрять избыточное программное обеспечение, которое мы должны поддерживать в дальнейшем. Какие есть альтернативы этой модели?
Какие-либо предложения?
Спасибо
1 ответ
Вы можете легко реализовать пользовательские
org.hibernate.search.backend.spi.BackendQueueProcessor
(SPI обозначает интерфейс служебного программирования: т.е. не совсем публичный API, но подразумевает определение устойчивых точек расширения)
Взгляните на реализацию JMS на GitHub, вы увидите, что вам нужно только:
- захватить сериализацию
- сериализовать отправленную вам очередь операций
- отправить его в очередь
Для стороны получателя это так просто:
- захватить службу десериализации
- десериализовать очередь
- переслать его на правильный indexManager
Пример: полная реализация - один из методов.
Не стесняйтесь внести свой вклад! Мы принимаем пул-запросы, вы также можете отправлять неполные предложения для обсуждения их на github (или не стесняйтесь в списках рассылки).