如何告诉Grails插件使用辅助数据源(不是默认数据源)?

维里亚托

我创建了一个插件,负责通过这种方式RDBMS访问辅助数据源,这样我们就从将要使用它的应用程序中隐藏域和服务层(这会阻止它们修改该源)。我已将该插件发布到工件,然后将其成功导入到我的应用程序中。但是,插件使用的数据源文件已从包装中排除,并且在调用插件中的服务方法时,它正在尝试针对我的默认数据源执行那些查询。

  1. 有没有办法告诉grails插件不要使用默认数据源,而是使用辅助数据源?还是有办法让插件不排除自己的DataSource.groovy文件?

谢谢

更新

下面提供的答案将起作用,基本上,这就是Grails中多个数据源的工作方式。这样做的唯一缺点是,当我自己开发插件并希望将其作为应用程序运行时,以确保它能够执行我想要的数据源,而grails期望的数据源必须称为dataSource,因此我必须将其注释掉。

static mapping = {
  // datasource 'dataSource_lookup'
}

为了能够运行它。然后,当我看到所有东西都如我所愿并且想要发布该插件时,我必须遍历所有域文件并取消注释上面的行,以便在将该插件导入到我的主应用程序中时将具有参考到辅助数据源。但是,这是非常非常痛苦和缓慢的。

有一个更好的方法吗?为什么默认数据源必须称为dataSource可以改变吗?

里奥默尔

在插件的域类中,您必须执行以下操作

static mapping ={
    //if you need to use the second ds only in Production you can use the Environment
    if(Environment.PRODUCTION){
        datasource('your_sencondary_datasource')
    }
}

并且在您的Datasource.groovy的主要应用程序中,您需要像这样映射您的数据源

production{
    dataSource {
        <'your configs of primary ds'>
    }

    dataSource_you_secondary_datasource {
        <'your configs to secondary ds'>
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何告诉Grails插件使用辅助数据源(不是默认数据源)?

来自分类Dev

使用Grails插件数据源

来自分类Dev

在石英插件中使用Grails数据源

来自分类Dev

用于Grails的Dose DB逆向工程插件是否支持辅助数据源?

来自分类Dev

Grails 2.4.2-动态引用默认数据源

来自分类Dev

通过Maven插件在OpenLiberty中安装默认数据源

来自分类Dev

如何使用骆驼创建数据源?

来自分类Dev

如何获取数据源?

来自分类Dev

Grails-多个数据源

来自分类Dev

如何不跨会话共享Grails数据源?

来自分类Dev

如何在Grails 1.3.3中使用多个数据源

来自分类Dev

在Grails中,如何获得对特定类使用的数据源的引用?

来自分类Dev

在Grails中,如何获得对特定类使用的数据源的引用?

来自分类Dev

如何从源数据源创建不存在的odi目标映射数据源?

来自分类Dev

如何获得螺栓数据源?

来自分类Dev

如何隔离DbSet等数据源?

来自分类Dev

如何确定图层的数据源类型

来自分类Dev

使用数据源进行Wildfly配置

来自分类Dev

使用Spring Cloud设置数据源

来自分类Dev

关闭数据源并使用游标

来自分类Dev

使用静态类作为数据源

来自分类Dev

使用 LINQ 查询外部数据源

来自分类Dev

使用多选剑道过滤数据源

来自分类Dev

数据源使用什么版本的mysql?

来自分类Dev

如何使用微服务架构处理共享数据源

来自分类Dev

如何使用Arquillian部署WildFly数据源?

来自分类Dev

如何使用多个表创建Spotfire数据源

来自分类Dev

如何在UITableView中使用外部数据源

来自分类Dev

如何创建使用外部数据源的umbraco小部件?