Проблема подключения к базе данных Grails при развертывании

Я могу успешно запустить свое приложение 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 .

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

Эндрю

10.12.2008 21:48:09
Можете ли вы предоставить нам некоторую информацию о соединении, может быть, конфигурацию вашего продукта из DataSource.groovy (без учета пароля, конечно)?
Rob Hruska 10.12.2008 22:09:57
2 ОТВЕТА

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

3
11.12.2008 11:12:29
РЕШЕНИЕ

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

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

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

Эндрю

1
11.12.2008 18:42:48