Org.hibernate.integrator.spi.Integrator: поставщик org.hibernate.search.hcore.impl.HibernateSearchIntegrator не подтип

Я постоянно стремлюсь перейти на Hibernate OGM 5.4 на JBoss WildFly 14.0.0.Final для использования с MongoDB.

Если бы он работал нормально в WildFly 12 и 13 с использованием более ранних версий OGM.

Использование OGM 5.4, JPA 2.2, Hibernate ORM 5.3 и Hibernate Search 5.10

согласно: Матрица совместимости

Мое «положение» в Gradle Build:

provision {
   //Optional destination directory:
    destinationDir = file("wildfly-custom")

    configuration = file( 'wildfly-server-provisioning.xml' )

    // Define variables which need replacing in the provisioning configuration!
    variables['wildfly.version'] = '14.0.0.Final'
    variables['hibernate-orm.version'] = '5.3.7.Final'
    variables['hibernate-search.version'] = '5.10.4.Final'
    variables['hibernate-ogm.version'] = '5.4.0.CR1'
}

который используется:

<server-provisioning xmlns = "urn:wildfly:server-provisioning:1.1" copy-module-artifacts = "true">
    <feature-packs>
        <feature-pack
                groupId = "org.wildfly"
                artifactId = "wildfly-feature-pack"
                version = "${wildfly.version}"/>
        <feature-pack
                groupId = "org.hibernate"
                artifactId = "hibernate-orm-jbossmodules"
                version = "${hibernate-orm.version}"/>
        <feature-pack
                groupId = "org.hibernate"
                artifactId = "hibernate-search-jbossmodules-orm"
                version = "${hibernate-search.version}"/>
        <feature-pack
                groupId = "org.hibernate.ogm"
                artifactId = "hibernate-ogm-featurepack-mongodb"
                version = "${hibernate-ogm.version}"/>
    </feature-packs>
</server-provisioning>

Единица сохранения состояния MongoDB в моем файле 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.2"/> -->
            <property name = "jboss.as.jpa.providerModule" value = "org.hibernate:5.3"/>

            <!-- <property name = "wildfly.jpa.hibernate.search.module" value = "org.hibernate.search.orm:5.8"/> -->
            <property name = "wildfly.jpa.hibernate.search.module" value = "org.hibernate.search.orm:5.10.4.Final"/>
            <!-- <property name = "hibernate.transaction.jta.platform" value = "JBossTS"/> -->
            <!-- <property name = "hibernate.transaction.jta.platform" value = "org.hibernate.service.jta.platform.internal.JBossAS"/> -->
            <property name = "hibernate.transaction.jta.platform" value = "org.hibernate.service.jta.platform.internal.JBossStandAloneJtaPlatform"/>
            <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>

Я скопировал соответствующие модули из сгенерированного WildFly 14.0.0.Final в свой установленный Home Brew.

Когда я включаю свой развернутый EAR, я получаю:

21:52:42,808 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) WFLYSRV0027: Starting deployment of "NOTiFYwell.ear" (runtime-name: "NOTiFYwell.ear")
21:52:43,318 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-5) WFLYSRV0207: Starting subdeployment (runtime-name: "NOTiFYwellJAR.jar")
21:52:43,318 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0207: Starting subdeployment (runtime-name: "NOTiFYwellWAR.war")
21:52:44,373 INFO  [org.jboss.as.jpa] (MSC service thread 1-5) WFLYJPA0002: Read persistence.xml for nOTiFYwellMySQLPersistenceUnit
21:52:44,373 INFO  [org.jboss.as.jpa] (MSC service thread 1-5) WFLYJPA0002: Read persistence.xml for nOTiFYwellMongoDBPersistenceUnit
21:52:44,585 WARN  [org.jboss.as.jsf] (MSC service thread 1-6) WFLYJSF0005: Unknown JSF version 'NONE'.  Default version 'main' will be used instead.
21:52:44,841 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 20) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'NOTiFYwell.ear/NOTiFYwellJAR.jar#nOTiFYwellMongoDBPersistenceUnit'
21:52:44,861 INFO  [org.jboss.weld.deployer] (MSC service thread 1-2) WFLYWELD0003: Processing weld deployment NOTiFYwell.ear
21:52:44,911 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 20) MSC000001: Failed to start service jboss.persistenceunit."NOTiFYwell.ear/NOTiFYwellJAR.jar#nOTiFYwellMongoDBPersistenceUnit".__FIRST_PHASE__: org.jboss.msc.service.StartException in service jboss.persistenceunit."NOTiFYwell.ear/NOTiFYwellJAR.jar#nOTiFYwellMongoDBPersistenceUnit".__FIRST_PHASE__: java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: Provider org.hibernate.envers.boot.internal.EnversIntegrator not a subtype
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:128)
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:104)
    at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:650)
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1.run(PhaseOnePersistenceUnitServiceImpl.java:137)
    at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
    at java.lang.Thread.run(Thread.java:745)
    at org.jboss.threads.JBossThread.run(JBossThread.java:485)
Caused by: java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: Provider org.hibernate.envers.boot.internal.EnversIntegrator not a subtype
    at java.util.ServiceLoader.fail(ServiceLoader.java:239)
    at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:465)
    at org.hibernate.integrator.internal.IntegratorServiceImpl.<init>(IntegratorServiceImpl.java:40)
    at org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:224)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildBootstrapServiceRegistry(EntityManagerFactoryBuilderImpl.java:455)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:199)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:167)
    at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:32)
    at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:89)
    at org.jboss.as.jpa.hibernate5.TwoPhaseBootstrapImpl.<init>(TwoPhaseBootstrapImpl.java:39)
    at org.jboss.as.jpa.hibernate5.HibernatePersistenceProviderAdaptor.getBootstrap(HibernatePersistenceProviderAdaptor.java:199)
    at org.wildfly.jpa.hibernateogm5.HibernateOGMPersistenceProviderAdaptor.getBootstrap(HibernateOGMPersistenceProviderAdaptor.java:87)
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl.createContainerEntityManagerFactoryBuilder(PhaseOnePersistenceUnitServiceImpl.java:254)
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl.access$900(PhaseOnePersistenceUnitServiceImpl.java:59)
    at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:125)
    ... 9 more

Было замечено несколько других вопросов с той же ошибкой, но ни одно из предложений не помогло.

Спасибо.

Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
2
0
1 170
1

Ответы 1

Извините, но на самом деле модули hibernate-ogm-featurepack- * Hibernate OGM 5.4.0.CR1 работают только с WildFly 13.x. Есть открытая проблема для WildFly 14.x: https://hibernate.atlassian.net/browse/OGM-1523.

Обходной путь здесь - установить только модули Hibernate OGM без переопределения модулей Hibernate ORM и Hibernate Search. Поскольку уже предоставленные версии Hibernate ORM и Hibernate Search от WildFly 14.0.x полностью совместимы с Hibernate OGM 5.4.0.CR1 (или, кстати, 5.4.0.Final).

Надеюсь, это вам поможет. Фабио

См. Мой ответ выше. Не удается найти "search.orm.5.10.3.Final". JAR (hibernate-search-orm-5.10.3.Final.jar) находится в модулях: org / hibernate / search / orm / main. Любое другое предложение?

NOTiFY 23.11.2018 10:08

Попробуйте удалить запись wildfly.jpa.hibernate.search.module, так как теперь вы используете значение по умолчанию (уже предоставленное WF 14).

fax4ever 23.11.2018 13:32

Как и предполагалось, я закомментировал запись модуля поиска. По-прежнему не будет развертываться ни с org.hibernate: 5.3, ни с 5.4 в persistence.xml и jboss-deployment-structure.xml. Когда я устанавливаю OGM 5.3, я получаю сообщение «Вызвано: org.jboss.modules.ModuleNotFoundException: org.hibernate.ogm: 5.3». Которая есть в модулях.

NOTiFY 23.11.2018 14:38

Вызвано: org.jboss.modules.ModuleNotFoundException: org.hibernate: 5.4

NOTiFY 23.11.2018 14:46

В модулях: org / hibernate / main / module.xml говорится: «<! - представляет Hibernate 5.1.x, позже станет 5.3.x для WF 14 ->». Что-то не хватает для WF 14.0.0.Final?

NOTiFY 24.11.2018 12:47

Ты прав. Я думаю, что для использования этого обходного пути вам необходимо также изменить "hibernate / ogm / jipijapa / module.xml" с <module name = "org.hibernate.orm.jipijapa-hibernate5" slot = "$ {module-slot. org.hibernate.short-id} "/> на <module name = " org.hibernate.jipijapa-hibernate5 "/>. Как я сделал здесь: github.com/hibernate/hibernate-ogm/pull/1100/files.

fax4ever 26.11.2018 10:56

Применено вышеуказанное изменение. Тем не менее, при развертывании EAR получаю сообщение об ошибке: «Причина: org.jboss.modules.ModuleNotFoundException: org.hibernate: 5.4». Я отказываюсь от Hibernate OGM для MongoDB. Я потратил на это недели.

NOTiFY 01.12.2018 17:26

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