Попытка использовать JBoss WildFly 11, Hibernate 5.3, OGM 5 и MongoDB - EAR не будет развертываться

Я пытаюсь использовать JPA OGM с MongoDB.

Я добавил последнюю версию Hibernate (5.3.0.CR1) в папку модуля WildFly 11:

/usr/local/Cellar/wildfly-as/11.0.0.Final/libexec/modules/system/layers/base/org/hibernate/5.3.0.CR1

Я добавил версию Hibernate в мой файл persistence.xml.

<persistence-unit name="NOTiFYwellMongoDBPersistenceUnit" transaction-type="JTA">
      <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>

        <properties>
            <property name="jboss.as.jpa.providerModule" value="org.hibernate:5.3.0.CR1"/>
            <property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAS"/>
            <property name="hibernate.ogm.datastore.provider" value="org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider"/>
            <property name="hibernate.ogm.datastore.grid_dialect" value="org.hibernate.ogm.datastore.mongodb.MongoDBDialect"/>

        <property name="hibernate.ogm.datastore.database" value="notifyWellDB"/>
        <property name="hibernate.ogm.mongodb.host" value="127.0.0.1"/>
    </properties>
</persistence-unit>

Когда я создаю EAR и мне нужно продолжать добавлять различные JAR-файлы из Hibernate и OGM, чтобы избавиться от "класса не найденных исключений".

Я сейчас застрял с:

ОШИБКА [org.jboss.msc.service.fail] (Пул потоков ServerService - 65) MSC000001: Не удалось запустить службу jboss.persistenceunit."NOTiFYwell.ear/NOTiFYwellJAR.jar#NOTiFYwellMongoDBPersistenceUnit": org.jboss.msc.vice.StartException в сервисе jboss.persistenceunit."NOTiFYwell.ear/NOTiFYwellJAR.jar#NOTiFYwellMongoDBPersistenceUnit": java.util.ServiceConfigurationError: org.hibernate.boot.model.TypeContributor.ytype.Ttype.JTateTateTyTeateTyTateTeJTateTeEJTateTeEJTateTeEJTateTeEJTateTeEJTateTeEJTateTeJTT:

Почему необходимые JAR-файлы не выбираются из папок модулей и автоматически загружаются "загрузчиком классов" вместо того, чтобы вручную добавлять их в EAR-файл?

2 ответа

Прежде всего, Hibernate OGM 5.3 совместим с ORM 5.2, а не с ORM 5.3 (ORM 5.3 еще не выпущен).

Смотрите нашу матрицу совместимости здесь: http://hibernate.org/ogm/releases/.

Затем у нас есть полный раздел документации, объясняющий, как использовать OGM в WildFly. См. https://docs.jboss.org/hibernate/stable/ogm/reference/en-US/html_single/. Обратите внимание, что в документации есть ошибка, она нацелена на WildFly 11, а не на 10. Мы исправим это в нашем следующем выпуске.

WildFly - это модульная среда, поэтому классы доступны не везде. Вот почему мы тщательно настроили модули, которые вы можете использовать повторно.

Обновление: я создал https://hibernate.atlassian.net/browse/OGM-1414 для отслеживания проблемы с документацией.

Пожалуйста, распакуйте его и поместите в ${wildflyHome}/modules.

Затем поместите следующий тег в ваш pom.xml:

<dependency>
    <groupId>org.hibernate.ogm</groupId>
    <artifactId>hibernate-ogm-mongodb</artifactId>
    <version>5.1.0.Final</version>
    <scope>provided</scope>
</dependency>
Другие вопросы по тегам