Медленно продвигаюсь, пытаясь заставить Hibernate ORM 5.2 работать с OGM 5.3, поэтому я могу использовать JPA с MongoDB.
Чтобы удалить ошибку поиска JNDI, указанную в часто задаваемых вопросах OGM:
При использовании Hibernate OGM поверх WildFly я получаю JndiException. Что не так? Если вы видите исключение JndiException, говорящее «Невозможно найти имя JNDI [---PlaceHolderDSForOGM---]», ваше приложение, вероятно, не может получить доступ к модулям сервера приложений Hibernate OGM.
Чтобы изменить это, добавьте следующую строку в файл META-INF/MANIFEST.MF вашего архива (адаптируйте его в соответствии с выбранным вами хранилищем данных):
Зависимости: службы org.hibernate:ogm, службы org.hibernate.ogm.mongodb В качестве альтернативы вы можете настроить это с помощью дескриптора jboss-deployment-structure.xml. См. справочное руководство, чтобы узнать больше.
Я создал: jboss-deployment-structure.xml
содержащий:
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.hibernate.ogm" slot="5.3" services="export" />
<module name="org.hibernate.ogm.mongodb" slot="5.3" services="export" />
</dependencies>
</deployment>
</jboss-deployment-structure>
Теперь, когда я пытаюсь развернуть свой EAR через консоль WildFly 11, я получаю:
17:58:42,926 ОШИБКА [org.jboss.as.controller.management-operation] (потоки запросов внешнего управления — 1) WFLYCTL0013: операция («добавить») не удалась — адрес: ([(«развертывание» => «NOTiFYwell .ear")]) - описание ошибки: {"WFLYCTL0080: Failed services" => {"jboss.persistenceunit.\"NOTiFYwell.ear/NOTiFYwellJAR.jar#NOTiFYwellMongoDBPersistenceUnit\".FIRST_PHASE" => «java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: поставщик org.hibernate.ogm.service.impl.OgmIntegrator не найден. Причина: java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: Поставщик org.hibernate.ogm.service.impl.OgmIntegrator не найден"}} 17:58:42,927 ОШИБКА [org.jboss.as.server] (потоки запросов внешнего управления -- 1) WFLYSRV0021: развертывание развертывания "NOTiFYwell.ear "был выполнен откат со следующим сообщением об ошибке: {"WFLYCTL0080: Failed services" => {"jboss.persistenceunit.\"NOTiFYwell.ear/NOTiFYwellJAR.jar#NOTiFYwel lMongoDBPersistenceUnit\".FIRST_PHASE" => "java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: Provider org.hibernate.ogm.service.impl.OgmIntegrator не найден Причина: java .util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: поставщик org.hibernate.ogm.service.impl.OgmIntegrator не найден"}} 17:58:42,939 INFO [org.jboss.as.server.deployment] ( Поток службы MSC 1-7) WFLYSRV0208: остановлено подразвертывание (имя среды выполнения: NOTiFYwellJAR.jar) через 10 мс 17:58:42,942 INFO [org.jboss.as.server.deployment] (поток службы MSC 1-8) WFLYSRV0208: остановлено subdeployment (имя среды выполнения: NOTiFYwellWAR.war) через 13 мс 17:58:42,952 INFO [org.jboss.as.server.deployment] (поток службы MSC 1–8) WFLYSRV0028: остановлено развертывание NOTiFYwell.ear (имя среды выполнения: NOTiFYwell .ear) за 25 мс
Ошибка:
Поставщик org.hibernate.ogm.service.impl.OgmIntegrator не найден
Относится к классу OgmIntegrator, найденному в:
Любые идеи, почему это не загружается? ТИА
org/hibernate/ogm/service/impl/OgmIntegrator.class under /usr/local/Cellar/wildfly-as/11.0.0.Final/libexec/modules/system/layers/base/org/hibernate/ogm/5.3/hibernate-ogm-core-5.3.0.Final.jar
Я думаю, что понял проблему, вам нужно использовать это: