Почему соединение django jython с базой данных MySQL вызывает «сбой связи»? - PullRequest
1 голос
/ 07 апреля 2011

Я пытаюсь преобразовать приложение django / cPython для запуска в качестве WAR Tomcat с использованием Jython. Мы используем базу данных mysql (MySQLdb в cPython / mysql-connector-java-5.1.15-bin.jar в jython). Я изменил DATABASE_ENGINE между двумя конфигурациями. Приложение прекрасно работает с cPython (после того, как я отключил ограничения SELinux для http-соединений с базой данных). Первая страница, изображения и статический контент работают в Jython. Однако, когда я запрашиваю страницу, которая попадает в базу данных, она на некоторое время зависает, а затем возвращается с:

Ошибка линии связи

Последний пакет успешно отправлен сервер был 0 миллисекунд назад. Водитель не получил пакетов с сервера. [SQLCode: 0], [SQLState: 08S01]

Кто-нибудь видел это раньше? Я не вижу каких-либо недавних обсуждений этого типа или проблемы. Я использую Django 1.2.5, Jython 2.5.2. Я попытался запустить приложение Java под Fedora (jre-1.6.0-openjdk.x86_64) и Windows (Java (TM) SE Runtime Environment (сборка 1.6.0_23-b05)). Такое же поведение Я также попробовал и mysql-connector-java-5.1.15-bin.jar (последняя версия) и mysql-connector-java-5.1.10-bin.jar («всесторонне протестировано» в соответствии с http://packages.python.org/django-jython/database-backends.html). Ни одна из различных конфигураций не влияет на поведение.

Как я могу решить эту проблему или где мне искать дальше?

1 Ответ

0 голосов
/ 07 апреля 2011

Я нашел ошибку.Оглядываясь назад, это очевидно.Я сделал type-o в IP-адресе сервера базы данных, но только в файле конфигурации в ветке jython.В результате экземпляр Jython завис, а экземпляр cPython - нет.Обнаружил ошибку, когда я объединил их в один файл settings.py (используя «if os.name == 'java'» для внесения необходимых изменений в jython.

Итак ... Какой правильный протокол здесь?Должен ли я удалить вопрос или оставить его на тот случай, если кто-то другой совершит такую ​​же ошибку, как я?

...