代码之家  ›  专栏  ›  技术社区  ›  anschoewe

部署时出现Grails数据库连接问题

  •  4
  • anschoewe  · 技术社区  · 17 年前

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

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

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

    在Jetty和Tomcat中部署时,连接字符串完全相同。当我在Tomcat6中部署Grails应用程序时,我为什么不能连接到我的数据库?当我的Grails应用程序部署在Tomcat中时,我似乎无法访问任何数据库。(我的另一个Java应用程序(融合)没有连接问题。

    这是我的连接信息:

    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"
            }
        }
    }
    

    我总是作为“测试”部署:

    grails test war
    

    从下面我的回答中可以看出, 我不认为这是一个连接问题,因为当我从grails 1.1beta1降级到1.0.4时,我能够成功地工作。 .

    感谢您的帮助,

    安得烈

    2 回复  |  直到 17 年前
        1
  •  3
  •   Ben Williams    17 年前

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

        2
  •  1
  •   anschoewe    17 年前

    这是Grails1.1beta1的问题。当我将我的应用程序恢复到Grails1.0.4时,它似乎可以工作。不幸的是,我不得不修改几段代码,因为测试版的Grails修复了一些错误,但这似乎是源于我使用的Grails版本。

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

    这并不能完全解决这个问题,但它缩小了范围。

    安得烈

    推荐文章