Проблема подключения к базе данных Grails при развертывании - PullRequest
4 голосов
/ 11 декабря 2008

Я могу успешно запустить свое приложение Grails в Jetty. Ему удается подключиться к моей базе данных MsSql, и все в порядке. При развертывании этого же приложения в Tomcat 6 на том же компьютере при запуске в журнале Tomcat появляется следующая ошибка:

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

Я не верю, что мой сервер MsSql является проблемой, так как у меня есть другое приложение Java, работающее в том же экземпляре Tomcat и успешно получающее доступ к тому же серверу базы данных.

Строка подключения в точности совпадает при развертывании в Jetty и Tomcat. Есть идеи, почему я не могу подключиться к своей базе данных при развертывании приложения Grails в Tomcat 6? Кажется, я не могу получить доступ к базам данных, когда мое приложение 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"
        }
    }
}

Я всегда развертываю как «тест»:

grails test war

Как вы увидите из моего ответа ниже, Я не думаю, что это проблема с подключением, поскольку я смог успешно приступить к работе, когда я опустил версию с grails 1.1beta1 до 1.0.4 .

Любая помощь приветствуется,

Andrew

Ответы [ 2 ]

3 голосов
/ 11 декабря 2008

Как выглядит ваш файл DataSource.groovy? Когда вы запускаете свое приложение с помощью «grails run-app», Grails использует источник данных в разделе «Разработка». Когда вы создаете файл war с помощью 'grails war' и развертываете его на сервере приложений, Grails использует источник данных в разделе «production». Возможно, вам потребуется убедиться, что ваш источник данных для разработки и производства настроен одинаково.

1 голос
/ 11 декабря 2008

Это проблема с Grails 1.1beta1. Когда я вернул свое приложение в Grails 1.0.4, оно, казалось, работало. К сожалению, мне пришлось изменить пару фрагментов кода, потому что бета-версия grails исправила некоторые ошибки, но, похоже, это связано с версией grails, которую я использовал.

Я только что создал пустое приложение grails с использованием 1.1beta1 и смог успешно развернуть его в Tomcat (и получить доступ к базе данных). Это заставляет меня думать, что в моем проекте есть некоторые другие настройки, которые плохо работают с бета-версией. Возможно, это мой плагин jquery. Возможно, это было обновление моего проекта с Grails 1.0.4 до 1.1beta1

Это не совсем решает проблему, но сужает ее.

Andrew

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...