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