Модуль 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.

Я все еще борюсь с развертыванием / настройкой, поэтому вот мои вопросы:

  1. Как должна выглядеть структура развертывания для адаптера 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 и дескрипторы развертывания.

  2. Где правильное место для развертывания файла конфигурации hazelcast.xml в Wildfly 10.1? Кажется, мне нужно упаковать его рядом с классом ResourceAdapterImpl (my-hazelcast-ra-impl.jar) так что загрузчик классов находит его и предпочитает его вместо hazelcast-default.xml. Он содержит только глобальные параметры конфигурации, такие как группа / сеть. Нет определений кэша, так как кэши должны быть настроены / созданы по требованию через CDI.

    • Есть ли что-то вроде conf папка, где я могу развернуть hazelcast.xml файл отдельно от двоичного содержимого RAR? Было бы хорошо, если бы он мог быть развернут в горячем режиме (для создания прототипов), но это не обязательно.
    • Должно ли оно быть как-то размещено внутри конфигураций подсистем в standalone.xml? Я нашел похожие конфигурации контейнеров кеша для подсистемы Infispan, но не знаю, как адаптировать ее к Hazelcast (так как это не собственная подсистема).
  3. В веб-интерфейсе Wildfly Management я могу найти развернутый RAR в разделе "Депозиты" и в представлении JNDI, но его нет в списке "Конфигурация -> Подсистемы -> Адаптеры ресурсов". Я могу создать новую запись там, но не вижу никакого преимущества. В чем смысл этой опции конфигурации?

заранее спасибо

0 ответов

Другие вопросы по тегам