我需要一种动态指定EJB持久化单元的方法。
简单示例:
我有一个应用程序,使用多个数据库作为数据存储库。每个数据存储都具有相同的结构。根据连接到应用程序的客户端,我需要访问特定数据存储中的数据。
因此,我想使用相同的EJB,以便不会重复业务逻辑,但是根据客户端选择正确的持久化单元。
到目前为止,我只直接注入了实体管理器,并硬编码了持久化单元名称。是否有一种方法可以将所需的持久化单元动态地注入到EJB中的实体管理器中?另外,可以在运行时动态添加持久化单元吗?我目前必须在persistence.xml文件中指定持久化单元。理想情况下,当系统正在运行时,我想在服务器jdbc/db1,jdbc/db2等上创建池。然后仅将这些添加到中央客户端数据库并将其链接到客户端,以便客户端连接时,它将检查池的名称,并在调用EJB以获取持久化单元时使用它。
我对Java EE开发还非常新。任何帮助将不胜感激。