首页 > 解决方案 > 为什么 Wildfly 会两次读取同一个 JPA 持久性单元?

问题描述

我使用 Wildfly 18 来部署我的 JavaEE 应用程序的 ear。我的耳朵由ejb.jar和war组成。带有 persistence.xml 的 JPA 东西位于单独的 jar 中,这是战争的依赖。

问题是当我部署 ear 时,Wildfly 两次读取相同的持久性单元。

18:40:48,730 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 37) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'ear-1.0-SNAPSHOT.ear/org.example-webapp-1.0-SNAPSHOT.war#FriendPU'
18:40:48,730 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 38) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'ear-1.0-SNAPSHOT.ear/org.example-persistence-1.0-SNAPSHOT.jar#FriendPU'
18:40:48,946 INFO  [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool -- 38) HHH000204: Processing PersistenceUnitInfo [
name: FriendPU
...]
18:40:48,946 INFO  [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool -- 37) HHH000204: Processing PersistenceUnitInfo [
name: FriendPU
...]

似乎Wildfly首先通过persistence.jar作为战争依赖到达持久化单元,然后直接通过这个jar。为什么会发生,如何解决?

谢谢!

标签: javamavenjpawildflyjava-ee-8

解决方案


推荐阅读