【发布时间】:2017-03-20 10:42:43
【问题描述】:
我们正在开发一种供内部使用的 SDK,其中包括一些自定义注释、请求过滤器和一些 JPA 实体,用于存储有关我们组织用户的信息。 SDK 是一个 maven 工件,包括对保存用户信息实体的持久性单元的定义。
我们的问题是:我们必须支持使用我们的 SDK 部署到同一个容器或它们自己的容器中的多个应用程序。 (SDK的持久化组件不能重构为自己的微服务)
我们的问题:既然我们的授权组件使用的持久化单元是在SDK中定义的,那么在同一个容器中运行的多个Java项目引用同一个数据源/持久化单元组合会不会造成问题?或者有没有我们可以并且应该实施的解决方法?
【问题讨论】:
-
我能想到的一个解决方案是,所有项目都将 SDK 添加为普通的 Maven 依赖项,但每个应用程序都有自己的 persistence.xml,其中 SDK 也是引用,实体包含在
my-sdk.jar -
这听起来不像是正确的做法。我们正在尝试将复杂性降低到单个 Maven 依赖项。我们可以通过从 git 中检出文件并手动修改项目中的文件来使其工作,但我们的项目专门将其简化为来自 Maven 的包含。
标签: jakarta-ee jpa-2.0 persistence-unit