Я могу успешно запустить свое приложение 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 .
Любая помощь приветствуется,
Эндрю
Как выглядит ваш файл DataSource.groovy? Когда вы запускаете свое приложение с помощью «grails run-app», Grails использует источник данных в разделе «Разработка». Когда вы создаете файл war с помощью 'grails war' и развертываете его на сервере приложений, Grails использует источник данных в разделе «production». Возможно, вам придется убедиться, что ваш источник данных для разработки и производства настроен одинаково.
Это проблема с Grails 1.1beta1. Когда я вернул свое приложение в Grails 1.0.4, оно, казалось, работало. К сожалению, мне пришлось изменить пару фрагментов кода, потому что бета-версия grails исправила некоторые ошибки, но, похоже, это связано с версией grails, которую я использовал.
Я только что создал пустое приложение grails с использованием 1.1beta1 и смог успешно развернуть его в Tomcat (и получить доступ к базе данных). Это заставляет меня думать, что в моем проекте есть некоторые другие настройки, которые плохо работают с бета-версией. Возможно, это мой плагин jquery. Возможно, это было обновление моего проекта с Grails 1.0.4 до 1.1beta1
Это не совсем решает проблему, но сужает ее.
Эндрю