Weblogi c 12 c - развернуть ухо дважды - PullRequest
1 голос
/ 20 марта 2020

Я пытаюсь развернуть файл ear дважды на Weblogi c 12.2.1.3.0 . Приложения для контекста одинаковы - root.

Они имеют:

  1. Те же модели JPA
  2. То же сопротивление. xml (с таким же постоянством -unit-name)
  3. При развертывании «второго» уха и попытке доступа к БД из первого я получаю

java .lang. ClassCastException: com.myApplication.models.entityOne нельзя привести к com.myApplication.models.entityOne

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

Структура моего файла уха выглядит примерно так:

/
  - lib
    - jar-with-my-models.jar
    - jar-with-persistance.jar

Постоянство. xml определяется следующим образом:

 <persistence-unit name="my-persistance-unit" transaction-type="JTA">
      <jar-file>jar-with-my-models.jar</jar-file>
 </persistence-unit>

Weblogi c. xml is определяется следующим образом:

<weblogic-web-app
    xmlns="http://www.bea.com/ns/weblogic/90">
    <context-root>/console</context-root>
    <container-descriptor>
        <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
        <prefer-web-inf-classes>false</prefer-web-inf-classes>
        <prefer-application-packages>
            <package-name>antlr.*</package-name>
        </prefer-application-packages>
    </container-descriptor>

    <session-descriptor>
        <persistent-store-type>memory</persistent-store-type>
        <sharing-enabled>true</sharing-enabled>
    </session-descriptor>
</weblogic-web-app>

Я дважды развертываю свой файл ear, потому что хочу повторить проблему, полученную при параллельном развертывании в WebLogi c

EDIT 1

Я заметил, что менеджер сущностей, введенный @PersistenceContext, одинаков между приложениями ion

Запрос на первое приложение em: com.sun.proxy. $ Proxy523

Запрос на второе приложение em: com.sun.proxy. $ Proxy523

1 Ответ

0 голосов
/ 26 марта 2020

вероятно, существует проблема между загрузчиком классов Weblogi c, если вы развертываете два приложения на одном и том же управляемом сервере Weblogi c (если они совместно используют одни и те же компоненты - один и тот же пакет + имя класса).

I Предлагаем вам создать разные Weblogi c Управляемые серверы для разных приложений. Таким образом, у вас не будет проблем.

...