EntityManagerFactory закрыт в Weblogic при развертывании ear

#java #weblogic #eclipselink #jpa-2.0 #weblogic12c

#java #weblogic #eclipselink #jpa-2.0 #weblogic12c

Вопрос:

У меня есть два отдельных файла ear, которые используют один и тот же модуль сохранения, определенный в их persistence.xml . При развертывании второго файла ear в Weblogic 12.2.1.3 я получаю следующую ошибку:

weblogic.application.Исключение ModuleException: java.lang.Исключение IllegalStateException: попытка выполнить операцию над закрытым EntityManagerFactory. в weblogic.application.internal.ExtensibleModuleWrapper.activate(ExtensibleModuleWrapper.java:123) в weblogic.application.internal.flow.ModuleListenerInvoker.активировать(ModuleListenerInvoker.java:114) в weblogic.application.internal.flow.ModuleStateDriver $ 2.далее (ModuleStateDriver.java:212) в weblogic.application.internal.flow.ModuleStateDriver $ 2.далее (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.работает.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) в weblogic.work.Самонастраивающийся workmanagerimpl.runWorkUnderContext (самонастраивающийся workmanagerimpl.java:644) в weblogic.work.ExecuteThread.execute(ExecuteThread.java:415) в weblogic.work.ExecuteThread.run(ExecuteThread.java:355)

Я не могу найти никакой информации о жизненном цикле EntityManagerFactory в Weblogic. Почему EntityManagerFactory может быть закрыт из weblogic. Кто-нибудь может дать подсказку о проблеме или ссылку, где я мог бы найти дополнительную информацию.

Файлы ear содержат стандартные веб-сервисы JEE7 SOAP, которые используют JPA, JTA и eclipse link 2.5.2 в качестве движка JPA.

Ответ №1:

Это ошибка weblogic. Смотрите документ ID 2502618.1 о поддержке Oracle.

Предлагаемые решения от службы поддержки Oracle:

В качестве решения примените исправление 29154575 в качестве обходного пути: отключите функцию модуля приложения параллельного развертывания. Отключение этого гарантирует, что различные модули приложения активируются последовательно, избегая состояния гонки.

Комментарии:

1. Спасибо за ваш ответ. Просто несколько разъяснений. 1) Этот патч разработан для Oracle WebLogic Server 12.2.1.2.0 и не может быть применен в 12.2.1.3. Вывод заключается в том, что он не нужен. Но проблема все еще существует в 12.2.1.3. 2) Когда мы устанавливаем атрибут <parallel-deploy-application-modules> из true в false внутри config.xml все работает нормально. 3) Возможно ли изменить этот атрибут из консоли пользовательского интерфейса weblogic?

2. Патч 29154575 имеет общую классификацию, поэтому я думаю, что его можно применить и к weblogic 12.2.1.3. Правильно ли вы установили ORACLE_HOME в своей оболочке перед выполнением OPatch? Я не вижу ни одного элемента пользовательского интерфейса уровня домена для установки ParallelDeployApplications в консоли 12.2.1.3.

Ответ №2:

Служба поддержки Oracle ссылается на то, что это ошибка, которая будет исправлена в 12.2.1.4. До тех пор исправление 29154575 полезно только в том случае, если версия Weblogic 12.2.1.2.0. В качестве обходного пути вы можете отключить функцию модуля приложения параллельного развертывания в config.xml файл Weblogic.