部署时的Grails数据库连接问题

时间:2008-12-10 21:48:10

标签: tomcat grails connection

我可以在Jetty中成功运行我的Grails应用程序。它成功连接到我的MsSql数据库,一切都很好。当我在同一台机器上的Tomcat 6中部署相同的应用程序时,我在Tomcat日志中启动时收到以下错误:

Caused by: java.net.ConnectException: Connection refused: connect

我不相信我的MsSql服务器是问题,因为我在同一个Tomcat实例中运行了另一个Java应用程序并成功访问了同一个数据库服务器。

当我在Jetty和Tomcat中部署它时,连接字符串完全相同。我在Tomcat 6中部署Grails应用程序时无法连接到我的数据库的任何想法?当我的Grails应用程序部署在Tomcat中时,我似乎无法访问任何数据库。 (我的其他Java应用程序(Confluence)连接没有问题。

这是我的连接信息:

dataSource {
    pooled = true
    driverClassName = "net.sourceforge.jtds.jdbc.Driver"
    username = "user"
    password = "pass"
}
hibernate {
    cache.use_second_level_cache=true
    cache.use_query_cache=true
    cache.provider_class='com.opensymphony.oscache.hibernate.OSCacheProvider'
}
// environment specific settings
environments {
    development {
        dataSource {
            dbCreate = "update" // one of 'create', 'create-drop','update'
            url = "jdbc:jtds:sqlserver://localhost:1143/holidayCards"
        }
    }
    test { //for AD-DEV02
        dataSource {
            dbCreate = "update"
            url = "jdbc:jtds:sqlserver://AD-DEV02:1237/holidayCards;instance=SQL2005"
        }
    }
    production {
        dataSource {
            dbCreate = "update"
            url = "jdbc:jtds:sqlserver://SQL:1433/holidayCards"
        }
    }
}

我总是将其部署为'test':

grails test war

正如您从下面的回答中看到的那样,我不认为这是一个连接问题,因为当我从grails 1.1beta1降级到1.0.4 时我能够成功地工作

感谢任何帮助,

安德鲁

2 个答案:

答案 0 :(得分:3)

您的DataSource.groovy文件是什么样的?使用'grails run-app'运行应用程序时,Grails使用“开发”部分中的数据源。当您使用'grails war'生成war文件并将其部署到应用程序服务器时,Grails使用“生产”部分中的数据源。您可能需要确保开发和生产数据源的配置相同。

答案 1 :(得分:1)

这是grails 1.1beta1的问题。当我将我的应用程序恢复为grails 1.0.4时,它似乎工作。不幸的是,我不得不更改几段代码,因为测试版的grails修复了一些错误,但这似乎根植于我使用的grails版本。

我刚刚使用1.1beta1创建了一个空的grails应用程序,我能够在Tomcat中成功部署它(并访问数据库)。这让我觉得我的项目中还有一些其他设置与beta版不兼容。也许这是我的jquery插件。也许是我的项目从grails 1.0.4升级到1.1beta1

这并没有解决问题,但它缩小了它。

安德鲁