【问题标题】:EntityManagerFactory is closed in Weblogic while deploying an earEntityManagerFactory 在部署耳朵时在 Weblogic 中关闭
【发布时间】:2019-08-13 13:31:08
【问题描述】:

我有两个单独的 ear 文件,它们使用它们的 persistence.xml 中定义的相同持久性单元。在 Weblogic 12.2.1.3 中部署第二个 ear 文件时,出现以下错误:

weblogic.application.ModuleException: java.lang.IllegalStateException: 试图对关闭的 EntityManagerFactory 执行操作。 在 weblogic.application.internal.ExtensibleModuleWrapper.activate(ExtensibleModuleWrapper.java:123) 在 weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:114) 在 weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:212) 在 weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:207) 在 weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:83) 在 weblogic.work.ContextWrap.run(ContextWrap.java:46) 在 weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:670) 在 weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352) 在 weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337) 在 weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57) 在 weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) 在 weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:644) 在 weblogic.work.ExecuteThread.execute(ExecuteThread.java:415) 在 weblogic.work.ExecuteThread.run(ExecuteThread.java:355)

我在 Weblogic 中找不到有关 EntityManagerFactory 生命周期的任何信息。为什么 EntityManagerFactory 可能会从 weblogic 中关闭。任何人都可以提供有关问题的提示或我可以找到更多信息的链接。

ear 文件包含使用 JPA、JTA 和 eclipse 链接 2.5.2 作为 JPA 引擎的标准 JEE7 SOAP Web 服务。

【问题讨论】:

    标签: java weblogic eclipselink jpa-2.0 weblogic12c


    【解决方案1】:

    这是 weblogic 错误。 请参阅有关 Oracle 支持的文档 ID 2502618.1。

    来自 Oracle 支持的建议解决方案:

    作为解决方案,应用补丁 29154575 作为一种解决方法: 禁用并行部署应用程序模块功能。禁用此选项将确保应用程序的各个模块按顺序激活,从而避免竞争条件。

    【讨论】:

    • 感谢您的回复。只是一些澄清。 1) 此补丁专为 Oracle WebLogic Server 12.2.1.2.0 设计,不能在 12.2.1.3 中应用。输出是不需要它。但问题在12.2.1.3中仍然存在。 2) 当我们在 config.xml 中将 属性从 true 设置为 false 时,一切正常。 3) 是否可以从 weblogic 的 UI 控制台更改此属性?
    • 补丁 29154575 有一个通用的分类,所以我认为它也可以应用于 weblogic 12.2.1.3。在执行 OPatch 之前,您是否在 shell 中设置了正确的 ORACLE_HOME?我在 12.2.1.3 控制台中看不到任何域级 UI 项来设置 ParallelDeployApplications。
    【解决方案2】:

    Oracle 支持表示这是一个将在 12.2.1.4 中修复的错误。在那之前,补丁 29154575 仅在 Weblogic 版本为 12.2.1.2.0 时才有价值。 作为一种解决方法,您可以在 Weblogic 的 config.xml 文件中禁用并行部署应用程序模块功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多