我们正在开发一种供内部使用的SDK,其中包括一些自定义注释,请求过滤器和一些JPA实体,用于存储有关我们组织用户的信息。SDK 是一个 maven 工件,包括保存用户信息实体的持久性单元的定义。
我们的问题是:我们必须支持使用我们的SDK的多个应用程序部署到同一容器或它们自己的容器中。(SDK 的持久性组件无法重构到自己的微服务中(
我们的问题:由于我们的授权组件使用的持久单元是在 SDK 中定义的,因此在同一容器中运行的多个 Java 项目引用相同的数据源/持久性单元组合是否会导致问题?或者有没有我们可以而且应该实施的方法?
我能想到的一种方法是有一个持久性模板.xml它将具有除 pu 名称之外的所有配置,该名称需要在 SDK 中占位符,并且在构建单个应用程序时有一个来自 SDK 的 ant 运行脚本(可能是 Java 类(,它将从应用程序的属性文件中获取项目特定的 pu 名称,并通过替换来创建应用程序的持久性.xml文件模板中的 PU 占位符。