Как правильно использовать Wildfly 10 с Hibernate и MongoDB?

Я новичок в этом, провел много исследований и до сих пор не могу разработать рабочую среду Wildfly / Hibernate / MongoDB. Вот в основном сделал так далеко:

  • Прочтите это руководство
  • Скачать Wildfly 10
  • Загрузите архив модулей Hibernate OGM 5.1.0.Final и ORM 5.1.4
  • Извлечение модулей в wildfly/ модули
  • Скачать / установить MongoDB (я попробовал 2 версии)
    • через Brew на Mac
    • через Ubuntu в ВМ
  • Создать новый веб-проект Maven в Netbeans

Следующим шагом является редактирование pom.xml, jboss-deploy-structure.xml, persistence.xml. И это точка, где начинается проблема. Я пробовал разные записи и получаю разные ошибки. Прямо сейчас моя конфигурация выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
    <dependencies>
        <module name="org.hibernate.ogm" slot="5.1" services="export" />
        <module name="org.hibernate.ogm.mongodb" slot="5.1" services="export" />
    </dependencies>
</deployment>
</jboss-deployment-structure>

Я видел разные версии этого файла, иногда с slot="main", иногда с services = "import".

Persitence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="comic-PU" transaction-type="JTA">
  <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
 <properties>
   <property name="jboss.as.jpa.providerModule" value="org.hibernate:5.1"/>
   <property name="hibernate.ogm.datastore.provider" value="mongodb"/>
   <property name="hibernate.ogm.datastore.database" value="comicDB"/>
   <property name="hibernate.ogm.datastore.host" value="localhost"/>
   <property name="hibernate.ogm.datastore.port" value="27017"/>
   <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
</properties>

Я уверен, что здесь что-то не так. При развертывании проекта Wildfly пытается прочитать файл persistence.xml, затем на мгновение застревает и:

20:58:33,255 INFO  [org.jboss.as.jpa] (MSC service thread 1-6) WFLYJPA0002: Read persistence.xml for comic-PU
21:03:32,767 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 1) WFLYCTL0348: Timeout after [300] seconds waiting for service container stability. Operation will roll back. Step that first updated the service container was 'deploy' at address '[("deployment" => "MYAPP.war")]'
21:03:32,772 ERROR [org.jboss.as.server] (DeploymentScanner-threads - 1) WFLYSRV0022: Deploy of deployment "ComicFeeder-1.0.war" was rolled back with no failure message

Я добавил, что Pom.xml в основном генерируется автоматически

 <dependency>
    <groupId>org.hibernate.ogm</groupId>
    <artifactId>hibernate-ogm-mongodb</artifactId>
    <version>5.1.0.Final</version>
 </dependency>
 <dependency>
   <groupId>org.hibernate.ogm</groupId>
   <artifactId>hibernate-ogm-core</artifactId>
   <version>5.1.0.Final</version>
 </dependency>

 <archive>
   <manifestEntries>
      <mode>development</mode>
      <url>${project.url}</url>
      <Dependencies>org.hibernate.ogm:5.1 services, org.hibernate.ogm.mongodb:5.1 services</Dependencies>
   </manifestEntries>
  </archive>

Требуется ли запись манифеста?

Ошибки, которые я получил:

  • Wildfly: org.hibernate.search.engine 5.6.1. Финал не найден
    • в wildfly/modules/org/hibernate/search/engine имя модуля называется "5.6.1.Final-orm51" -> переименовано в 5.6.1.Final, отредактируйте запись в 5.6.1.Final/modules.xml
    • Wildfly запускается без этой ошибки
    • Это похоже на ошибку для меня

Где моя ошибка? Каков ваш "рабочий процесс", когда вы начинаете новый проект с hibernate, wildfly и mongodb? Будет ли проще использовать Glassfish или любой другой сервер? Некоторые учебники, которые я нашел, устарели или просто не работают (для меня).

0 ответов

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