【发布时间】:2013-11-25 21:56:37
【问题描述】:
我们正在开发一个 Grails Web 应用程序,其中需要将不同的用户(客户)指向仅包含其组织数据的不同数据库。不幸的是,分离的数据库是必需的,我们被要求只能为每个人提供一个 Web 应用程序。
但是,Grails 只希望一个数据源池连接到一个数据库。
我们希望能够根据登录的用户在每个会话中切换数据库连接,其中在 BootStrap init() 期间从属性文件中读取不同的连接。
到目前为止,我们一直无法找到似乎没有竞争条件的解决方案,也没有我们可以找到的插件,而且这似乎不是一个流行的问题。
我们最有希望的是创建一个自定义动态数据源,在 Bootstrap 中设置以定义一个组织->数据源的映射,并利用 Bootstrap 中定义的闭包在 GORM 行为之前找到合适的数据源,但这似乎会导致竞争有延迟时的条件。
有人知道如何合法地执行这种切换吗?
谢谢
【问题讨论】:
标签: database grails pool context-switching