0

我将使用 OSGi 以 Java 开发的简单 CRUD 应用程序迁移到使用 Spring 的 Grails。我将所有 REST 资源转换为控制器,将 HTML 页面转换为 GSP 视图,保留 Java 代码的其余部分。

我有一个DBService服务,可以帮助连接到数据库并在其上运行查询,还有一个ProcessorService用于DBService执行业务操作的服务。

我为这些服务创建了 bean,如下所示:

beans = {

    dbServiceBean(DBService, "test_db")

    processorServiceBean(ProcessorService,ref("dbServiceBean"))

}

上述配置一切正常。

现在,我希望应用程序能够处理多个数据库(多租户)。但是,我事先不会知道数据库的名称,因此我无法dbServiceBean预定义 s 列表。

是否可以使用动态获取的值重建/重新加载 bean 并在应用程序运行时重新加载依赖的 bean?

4

1 回答 1

0

Grails 已经可以选择使用多个数据源

您可以更改您的DBService以从配置的数据源获取连接。如果您只是将其更改为 Groovy 类并将其放入,grails-app/service您将免费获得按属性名称进行的事务和依赖注入

于 2013-10-01T11:50:24.643 回答