Spring Boot + Hazelcast MapStore не может автоматически подключиться

Я начал изучать функциональность Hazelcast и пытался использовать MapStore в качестве буфера записи для моей базы данных через HazelcastRepository. Моя цель - использовать JpaRepository внутри моего MapStore для загрузки и сохранения в /из кэша.

Я использую Spring Boot, и после проведения некоторых исследований я обнаружил, что могу использовать @SpringAware для автоматической передачи моего репозитория в MapStore, но каждый раз, когда он туда попадает, мой компонент имеет вид null и я получаю NullPointerException. Я не могу заставить его работать, даже после множества различных тестов, я не смог автоматически связать мой bean-компонент внутри MapStore

что-то не так с этой конфигурацией для включения SpringAware или я смотрю не в том месте?

Найдено Это сообщение о переполнении стека и это дало мне подсказки, но я все еще не мог понять проблему, так как большинство конфигураций были XML, а не Java. Также Нашел этот выпуск Github о настройке SpringAware в Hazelcast через конфигурации Java

И я зафиксировал мой пример кода в этом Git Repo Here .

 Скриншот отладчика null Bean

4 голоса | спросил Fernando Nakano 22 AM00000020000003831 2018, 02:32:38

3 ответа


0
После изучения предоставленного кода я заметил, что @SpringAware никогда не включался по умолчанию из-за проблемы с GitHub, которую я обнаружил в Hazelcast.Проблема описывала то, что SpringAware был отключен, потому что это влияло на производительность, что перенаправило меня на другое закрытое решение по тикету, включающее аннотацию по коду с использованием SpringManagedContext (избегая использования XML), но это по-прежнему не решает проблему.Реальное решение было найдено здесь , добавьте интерфейс MapLoaderLifecycleSupport в вашу реализацию MapStore и реализуйте метод init, как показано в билете:Это заставит @SpringAware быть включенным в классе MapStore, поэтому он сможет автоматически подключать любой пружинный компонент к классу, как показано на рисунке ниже.работоспособного JPA-хранилище карта-магазин-скриншот
ответил JeriesHG 13 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 13 Sep 2018 00:31:20 +0300 2018, 00:31:20
0
Здесь проблема в том, что вы создаете пружинный компонент с именем ---- +: = 0 =: + ---- , когда вы используете автоматическое подключение ---- +: = 1 =: + ---- .Либо измените ---- +: = 2 =: + ---- на ---- +: = 3 =: + ---- в ---- +: = 4 =: + ---- ИЛИудалить ---- +: = 5 =: + ---- из ---- +: = 6 =: + ----DAO
ответил Jobin Joseph 22 AM00000090000000531 2018, 09:05:05
0
Работает ленивое внедрение bean-компонента MapStore в класс, где вы инициализируете свои карты:В этом примере бин ---- +: = 1 =: + ---- содержит внедренный бин ---- +: = 2 =: + ---- .
ответил wild_nothing 11 FebruaryEurope/MoscowbMon, 11 Feb 2019 18:17:08 +0300000000pmMon, 11 Feb 2019 18:17:08 +030019 2019, 18:17:08

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132