有没有办法可以让JPA(特别是Eclipselink)根据绑定到当前线程的某些属性动态选择连接池?
我正在尝试解决的问题是扩展多租户系统,租户可能会分散在多个数据库实例上。每个数据库实例都是多租户的,但为了扩展,我可能无法轻松地将所有租户都放在一个数据库实例中。
我熟悉@Multitenant
以支持单表多租户,并已成功使用Eclipselink会话事件回调来动态设置Eclipselink Session
中的值。我正在尝试更改EntityManager将使用的DataSource
的下一步,因此我不必使用群集数据库。
谢谢!
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用EntitiyManagerFactory
,允许为特定的datsasource创建EntitiyManager
(通过String属性),如
http://foobar.lu/wp/2010/12/30/change-jpa-entitymanager-connection-properties-at-runtime/
答案 2 :(得分:0)
您可能需要查看this post。它可能会有所帮助或为您提供如何实现解决方案的线索。