Как повторно активировать Infispan на Wildfly 11, если использовать hibernate-orm-modules для использования более современного Hibernate? - PullRequest
0 голосов
/ 29 августа 2018

I следовал этому руководству jboss , чтобы параллельно установить более новую версию hibernate в WF11. Учитывая последние предложения:

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

Например, включить кэш Infinispan 2-го уровня просто при использовании модуля ORM Hibernate по умолчанию, поскольку WildFly автоматически устанавливает зависимость от компонентов Infinispan и кластеризации. При использовании этих пользовательских модулей такая интеграция больше не будет работать автоматически: вы все равно можете включить все обычно доступные функции, но для них потребуется явная настройка, как если бы вы работали в Hibernate в другом контейнере или не в контейнере.

Я настроил структуру jboss-deploying, чтобы явно требовать бесконечность как

<jboss-deployment-structure>
    <ear-subdeployments-isolated>false</ear-subdeployments-isolated>
        <!-- This corresponds to the top level deployment. For a war this is the war's module, for an ear -->
        <!-- This is the top level ear module, which contains all the classes in the EAR's lib folder     -->
        <deployment>
            <dependencies>
                <module name="org.hibernate.infinispan" services="import" slot="${version.org.hibernate}"/>
            </dependencies>
        </deployment>
        <sub-deployment name="some-report-service-${project.version}.war">
            <exclusions>
                <module name="org.jboss.resteasy.resteasy-jackson2-provider"/>
                <module name="org.jboss.resteasy.resteasy-jettison-provider"/>
            </exclusions>
            <dependencies>
                <module name="org.jboss.resteasy.resteasy-jackson-provider" services="import"/>
                <module name="org.hibernate.infinispan" services="import" slot="${version.org.hibernate}"/>
            </dependencies>
        </sub-deployment>
[...]

К сожалению, я все еще не могу развернуть файл EAR на моей Wildfly с помощью этой Stacktrace

 Unable to build Hibernate SessionFactory
        at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:195)
        at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:125)
        at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:640)
        at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:209)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
        at org.jboss.threads.JBossThread.run(JBossThread.java:320)
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: DM_DERIVATEV] Unable to build Hibernate SessionFactory
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:970)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:895)
        at org.jboss.as.jpa.hibernate5.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44)
        at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:167)
        ... 7 more
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.spi.CacheImplementor]
        at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:271)
        at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233)
        at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
        at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.getService(SessionFactoryServiceRegistryImpl.java:80)
        at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:243)
        at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:892)
        ... 9 more
Caused by: org.hibernate.cache.CacheException: HHH025011: Infinispan custom cache command factory not installed (possibly because the classloader where Infinispan lives couldn't find the Hibernate Infinispan cache provider)
        at org.hibernate.cache.infinispan.InfinispanRegionFactory.getCacheCommandFactory(InfinispanRegionFactory.java:743)
        at org.hibernate.cache.infinispan.InfinispanRegionFactory.startRegion(InfinispanRegionFactory.java:600)
        at org.hibernate.cache.infinispan.InfinispanRegionFactory.buildTimestampsRegion(InfinispanRegionFactory.java:390)
        at org.hibernate.internal.CacheImpl.<init>(CacheImpl.java:78)
        at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:28)
        at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:20)
        at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:59)
        at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259)
        ... 15 more

Что мне не хватает? Надеюсь, что вы можете помочь мне и наилучшими пожеланиями,

Marius

1 Ответ

0 голосов
/ 29 августа 2018

Хорошо, я нашел недостающую ссылку. Также необходимо настроить файл standalone / configuration / standalone.xml.

Поиск: <cache-container name="hibernate" module="org.hibernate.infinispan:4"> Заменить: <cache-container name="hibernate" module="org.hibernate.infinispan:5.2">

5.2 - это, конечно, версия, на которую вы ссылаетесь, приспособьте ее под свои нужды.

Подробнее о

С уважением,

Marius

...