【问题标题】:Hibernate OGM mongodb example休眠 OGM mongodb 示例
【发布时间】:2019-04-29 04:54:54
【问题描述】:

我是 java ee 的新手,我正在寻找一些带有 Mongodb 的休眠 OGM 的示例。我发现了这个:https://github.com/fmarchioni/mastertheboss/tree/master/hibernateogm-mongo 但我正在努力尝试运行它。 这些是我已经完成的步骤:

  • 在 Eclipse 中将项目导入为 Maven 项目
  • 在 Project Facets 中添加了 JavaServer FacesDynamic Web 模块
  • 安装 Wildfly 作为服务器运行时

尝试运行项目时出现此错误

13:32:49,916 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."hibernateogm-mongo.war".FIRST_MODULE_USE: org.jboss.msc.service.StartException in service jboss.deployment.unit."hibernateogm-mongo.war".FIRST_MODULE_USE: WFLYSRV0153: Failed to process phase FIRST_MODULE_USE of deployment "hibernateogm-mongo.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:151)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1736)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1698)
    at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1556)
    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:748)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJPA0027: Persistence provider module load error org.hibernate.ogm (class org.hibernate.ogm.jpa.HibernateOgmPersistence)
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.lookupProvider(PersistenceUnitServiceHandler.java:991)
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.addPuService(PersistenceUnitServiceHandler.java:266)
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.handleWarDeployment(PersistenceUnitServiceHandler.java:206)
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.deploy(PersistenceUnitServiceHandler.java:134)
    at org.jboss.as.jpa.processor.PersistenceBeginInstallProcessor.deploy(PersistenceBeginInstallProcessor.java:52)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:144)
    ... 8 more
Caused by: org.jboss.modules.ModuleNotFoundException: org.hibernate.ogm
    at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:294)
    at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:280)
    at org.jboss.as.jpa.persistenceprovider.PersistenceProviderLoader.loadProviderModuleByName(PersistenceProviderLoader.java:65)
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.lookupProvider(PersistenceUnitServiceHandler.java:987)
    ... 13 more

13:32:50,978 INFO  [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-3) ISPN000128: Infinispan version: Infinispan 'Estrella Galicia' 9.3.1.Final
13:32:51,380 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 72) WFLYCLINF0002: Started client-mappings cache from ejb container
13:32:51,602 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 72) WFLYUT0021: Registered web context: '/wildflyDynamicProject' for server 'default-server'
13:32:51,612 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "hibernateogm-mongo.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"hibernateogm-mongo.war\".FIRST_MODULE_USE" => "WFLYSRV0153: Failed to process phase FIRST_MODULE_USE of deployment \"hibernateogm-mongo.war\"
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYJPA0027: Persistence provider module load error org.hibernate.ogm (class org.hibernate.ogm.jpa.HibernateOgmPersistence)
    Caused by: org.jboss.modules.ModuleNotFoundException: org.hibernate.ogm"}}

可以看到实际的错误是org.jboss.modules.ModuleNotFoundException: org.hibernate.ogm

现在的问题:

  • 我猜org.hibernate.ogm 因为Maven 依赖不够,Widlfly 需要org.hibernate.ogm 模块。我该如何安装它?我找到的所有信息都与 JBoss 相关且已过时。
  • 我可以在 Tomcat 中运行这个项目吗?否则这没有意义?在这种情况下是否需要 Wildfly?在 Tomcat 8 运行时出现此错误:java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

【问题讨论】:

  • Wildfly 是完整的应用服务器,而 Tomcat 只是 Web 容器。顺便提一句。我不认为这个存储库是一个好的起点。我认为你需要配置你的服务器来运行它。
  • 你有链接吗?

标签: eclipse jakarta-ee hibernate-ogm


【解决方案1】:

这个例子已经很老了,我已经创建了一个最新的例子,我打算将它包含在我个人存储库的项目中。

这是链接:https://github.com/DavideD/hibernate-demos/tree/master/hibernate-ogm/nosql-with-hibernate-ogm-101/hibernate-ogm-demo-nosql-with-hibernate-ogm-101-part-3

这个项目展示了如何设置一个 maven 构建,使用配置插件为 WildFly 13 准备适当的模块。它还显示了 persistence.xml 和 jboss 部署描述符的基本配置。

要记住的一件事是,您需要使用属性 -Dee8.preview.mode=true 来启动服务器,正如您在 arquillian.xml 中看到的那样

希望对你有帮助

【讨论】:

  • 如果你愿意,我们可以继续在 hibernate 论坛上(我刚刚更新了我的上一篇文章),我是同一个人 :)
  • 是的,我认为这样更好。我会在那里回答
  • 有更深入回答的论坛链接:discourse.hibernate.org/t/tutorial-with-mongodb/1795/5
  • 您能否将答案标记为已解决,好吗?谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-08
  • 2018-12-16
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多