Plugins Grails数据源插件的状态

Plugins Grails数据源插件的状态,plugins,grails,datasource,Plugins,Grails,Datasource,我正在尝试为我正在开发的应用程序运行多数据源插件。在我看来,grails的一次升级破坏了插件的功能。我正在使用最新安装的1.3.7,并尝试使用发布的示例应用程序。为了让示例应用程序中的功能正常工作,我尝试了所有方法,但都没有成功 为了进行进一步的测试,我将grails env降级为1.0.3,这是编写演示应用程序的版本。使用此版本运行时,一切正常;我可以毫无故障地连接到所有三个数据源 我的问题是:是否有人能够在Grails1.3.7下成功地使用该插件,是否有人知道这是否仍然是一个活动项目?或者,

我正在尝试为我正在开发的应用程序运行多数据源插件。在我看来,grails的一次升级破坏了插件的功能。我正在使用最新安装的1.3.7,并尝试使用发布的示例应用程序。为了让示例应用程序中的功能正常工作,我尝试了所有方法,但都没有成功

为了进行进一步的测试,我将grails env降级为1.0.3,这是编写演示应用程序的版本。使用此版本运行时,一切正常;我可以毫无故障地连接到所有三个数据源

我的问题是:是否有人能够在Grails1.3.7下成功地使用该插件,是否有人知道这是否仍然是一个活动项目?或者,是连接多个数据源的另一种方法吗

提前感谢,

唐纳德(Donald)

看来,这个问题再次受到关注

From—“Grails1.4开发进展顺利……我已经向core添加了对多个数据源的支持(来自数据源插件),并且正在为JDBC和JMS添加两阶段提交(XA/JTA)。”


我成功地将集成到一个新的Grails1.3.7项目中。我选择将配置与主数据源相结合,以使其更易于维护。以下是我遵循的步骤:

引用conf/BuildConfig.groovy中使用的插件

在conf/Datasources.groovy中创建一个额外的数据源

在conf/datasource.groovy中配置默认数据源和特定于环境的设置


您还可以使用配置主数据源和其他数据源。

很好,您比我快了4个小时写这篇文章:P
grails.project.dependency.resolution = {
    plugins {
        runtime ':datasources:0.5'
    }
}
import org.codehaus.groovy.grails.commons.ConfigurationHolder

datasources = {
    datasource(name: 'DS2') {
        domainClasses([domain.Object])
        if (ConfigurationHolder.config.DS2.dataSource.readOnly) readOnly(ConfigurationHolder.config.DS2.dataSource.readOnly)
        driverClassName(ConfigurationHolder.config.DS2.dataSource.driverClassName)
        url(ConfigurationHolder.config.DS2.dataSource.url)
        if (ConfigurationHolder.config.DS2.dataSource.username) username(ConfigurationHolder.config.DS2.dataSource.username)
        if (ConfigurationHolder.config.DS2.dataSource.password) password(ConfigurationHolder.config.DS2.dataSource.password) 
        if (ConfigurationHolder.config.DS2.dataSource.dbCreate) dbCreate(ConfigurationHolder.config.DS2.dataSource.dbCreate)
        dialect(ConfigurationHolder.config.DS2.dataSource.dialect)
        if (ConfigurationHolder.config.DS2.dataSource.jndiName) jndiName(ConfigurationHolder.config.DS2.dataSource.jndiName)
        if (ConfigurationHolder.config.DS2.dataSource.pooled) pooled(ConfigurationHolder.config.DS2.dataSource.pooled)
        if (ConfigurationHolder.config.DS2.dataSource.loggingSql) loggingSql(ConfigurationHolder.config.DS2.dataSource.loggingSql)
        if (ConfigurationHolder.config.DS2.dataSource.logSql) logSql(ConfigurationHolder.config.DS2.dataSource.logSql)

        hibernate {
            cache {
                if (ConfigurationHolder.config.DS2.hibernate.cache.use_second_level_cache) use_second_level_cache(ConfigurationHolder.config.DS2.hibernate.cache.use_second_level_cache)
                if (ConfigurationHolder.config.DS2.hibernate.cache.use_query_cache) use_query_cache(ConfigurationHolder.config.DS2.hibernate.cache.use_query_cache)
                if (ConfigurationHolder.config.DS2.hibernate.cache.provider_class) provider_class(ConfigurationHolder.config.DS2.hibernate.cache.provider_class)
            }
        }
    }
}
DS2 {
    dataSource {
        pooled=true
        readOnly=false
        driverClassName="org.hsqldb.jdbcDriver"
        username=""
        password=""
        dialect="org.hibernate.dialect.HSQLDialect"
    }
    hibernate {
        cache.use_second_level_cache=true
        cache.use_query_cache=true
        cache.provider_class="net.sf.ehcache.hibernate.EhCacheProvider"
    }
}

environments {
    development {
        dataSource {
            dbCreate = "create-drop" // one of 'create', 'create-drop','update'
            url = "jdbc:hsqldb:mem:devDB"
        }
        DS2 {
            dataSource {
                dbCreate="create-drop"
                url="jdbc:hsqldb:mem:devDB2"
            }
        }
    }
    test {
        dataSource {
            dbCreate = "update"
            url = "jdbc:hsqldb:mem:testDb"
        }
        DS2 {
            dataSource {
                dbCreate="update"
                url="jdbc:hsqldb:mem:testDb2"
            }
        }
    }
    production {
        dataSource {
            dbCreate = "update"
            url = "jdbc:hsqldb:file:prodDb;shutdown=true"
        }
        DS2 {
            dataSource {
                dbCreate="update"
                url = "jdbc:hsqldb:file:prodDb2;shutdown=true"
            }
        }
    }
}