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