我们正在开发一个Grails Web应用程序,其中不同的用户(客户)需要指向仅包含其组织数据的不同数据库。不幸的是,分离的数据库是一项要求,我们被要求每个人只能拥有一个Web应用程序。
但是,Grails希望只有一个数据源池连接到一个数据库。
我们希望能够根据登录的用户切换每个会话的数据库连接,在BootStrap init()期间从属性文件中读取不同的连接。
到目前为止,我们一直无法找到一个似乎没有竞争条件的解决方案,我们找不到任何插件,而且它似乎不是一个受欢迎的问题。
我们最有希望的是创建一个自定义动态数据源,在Bootstrap中设置以定义组织地图> dataSource,并利用Bootstrap中定义的闭包在GORM行为之前找到适当的dataSource,但这似乎导致有潜伏期的竞争条件。
有没有人知道如何合理地执行这种转换?
由于
答案 0 :(得分:1)
考虑到Grails是建立在Spring之上的,最好的办法是开发自己的可解析数据源。
答案 1 :(得分:0)
在您的问题中,您是否部署了一次应用程序并尝试配置用户使用的DataSource
,或者您只是想通过部署进行配置,这一点并不清楚。
如果只是部署,Grails allow you to externalize the configuration。您可以将其设置为在类路径中或静态位置使用文件。