Модуль Hazelcast 3.8 и возможность конфигурации для wildfly 10.1?
Мне нравится создавать прототипы среды JEE с использованием Wildfly 10.1 и Hazelcast 3.8. До сих пор у меня есть опыт работы только с древним JBoss 4.2.3.GA.
Я уже нашел существующую реализацию адаптера ресурсов, основанную на более ранней версии Hazelcast 3.6, по https://github.com/hazelcast/hazelcast-ra. К сожалению, я не смог развернуть его как есть на Wildfly 10.1, так как IronJacamar жаловался на отсутствие методов equals/hashCode (что не соответствует действительности, поскольку они явно перезаписаны в исходном коде. При развертывании собственного снимка git master было то же самое вопрос).
В итоге я перенес код конфигурации ra.xml в соответствующие аннотации javax.resource.spi (@Connector, @ConfigProperty, @ConnectionDefinition) и добавил реализацию интерфейса javax.resource.Referenceable (не знаю, нужно ли это). Шаг к Hazelcast 3.8 был намного проще - просто добавив отсутствующие методы интерфейса в HazelcastConnectionImpl.
Я все еще борюсь с развертыванием / настройкой, поэтому вот мои вопросы:
Как должна выглядеть структура развертывания для адаптера JCA? Я проверил следующие подходы:
All-in-one: файл RAR, содержащий все
cache-api-1.0.0.jar
,hazelcast-3.8.jar
,hazelcast-client-3.8.jar
,my-hazelcast-ra-impl.jar
и дескрипторы развертывания.By-Library: добавлены новые модули
javax.cache.api
(cache-api-1.0.0.jar
) а такжеcom.hazelcast.hazelcast
(hazelcast-3.8.jar
,hazelcast-client-3.8.jar
) чтобы${WILDFLY_HOME}/modules/
и объявил соответствующие зависимости модуля вjboss-deployment-structure.xml
, RAR-файл содержитmy-hazelcast-ra-impl.jar
,hazelcast.xml
и дескрипторы развертывания.By-Adapter: добавлен новый модуль
my.hazelcast.ra
(cache-api-1.0.0.jar
,my-hazelcast-ra-impl.jar
) чтобы${WILDFLY_HOME}/modules/
и объявил соответствующую зависимость модуля вjboss-deployment-structure.xml
, RAR-файл содержитhazelcast-3.8.jar
,hazelcast-client-3.8.jar
,hazelcast.xml
и дескрипторы развертывания.
Где правильное место для развертывания файла конфигурации hazelcast.xml в Wildfly 10.1? Кажется, мне нужно упаковать его рядом с классом ResourceAdapterImpl (
my-hazelcast-ra-impl.jar
) так что загрузчик классов находит его и предпочитает его вместо hazelcast-default.xml. Он содержит только глобальные параметры конфигурации, такие как группа / сеть. Нет определений кэша, так как кэши должны быть настроены / созданы по требованию через CDI.- Есть ли что-то вроде
conf
папка, где я могу развернутьhazelcast.xml
файл отдельно от двоичного содержимого RAR? Было бы хорошо, если бы он мог быть развернут в горячем режиме (для создания прототипов), но это не обязательно. - Должно ли оно быть как-то размещено внутри конфигураций подсистем в standalone.xml? Я нашел похожие конфигурации контейнеров кеша для подсистемы Infispan, но не знаю, как адаптировать ее к Hazelcast (так как это не собственная подсистема).
- Есть ли что-то вроде
В веб-интерфейсе Wildfly Management я могу найти развернутый RAR в разделе "Депозиты" и в представлении JNDI, но его нет в списке "Конфигурация -> Подсистемы -> Адаптеры ресурсов". Я могу создать новую запись там, но не вижу никакого преимущества. В чем смысл этой опции конфигурации?
заранее спасибо