Grails-基于User切换数据源



我们正在开发一个Grails web应用程序,不同的用户(客户)需要指向只包含其组织数据的不同数据库。不幸的是,分离的数据库是一种要求,我们被要求每个人只能有一个web应用程序。

然而,Grails期望只有一个数据源池连接到一个数据库。

我们希望能够根据登录的用户在每个会话中切换数据库连接,其中不同的连接是在BootStrap init()期间从属性文件中读取的。

到目前为止,我们还无法找到一个似乎没有种族条件的解决方案,也没有插件,而且这似乎不是一个流行的问题。

我们最有希望的是创建一个自定义的动态数据源,在Bootstrap中设置以定义组织->dataSource的映射,并利用Bootstrap定义的闭包在GORM行为之前找到合适的dataSource,但这似乎会在存在延迟时导致竞争。

有人知道如何合法地进行这种切换吗?

感谢

考虑到Grails是基于Spring构建的,您最好的选择是开发自己的可解析数据源。

  1. 动态数据源路由
  2. 数据源路由示例

您的问题中不清楚您是部署了一次应用程序,并试图配置用户使用的DataSource,还是只想通过部署进行配置。

如果只是每个部署,Grails允许您将配置外部化。您可以将其设置为使用类路径中或静态位置中的文件。

相关内容

  • 没有找到相关文章

最新更新