【问题标题】:Why does django jython connection to a MySQL database give a "Communication Link Failure"?为什么 django jython 连接到 MySQL 数据库会出现“通信链路故障”?
【发布时间】:2011-04-07 00:23:12
【问题描述】:

我正在尝试使用 Jython 将 django / cPython 应用程序转换为作为 T​​omcat WAR 运行。我们正在使用 mysql 数据库(cPython 中的 MySQLdb / jython 中的 mysql-connector-java-5.1.15-bin.jar)。我已经更改了两种配置之间的 DATABASE_ENGINE。该应用程序在 cPython 上运行良好(在我禁用了 SELinux 对与数据库的 http 连接的限制之后)。首页、图像和静态内容在 jython 中工作。但是,当我请求访问数据库的页面时,它似乎会挂起一段时间,然后返回:

通讯链接故障

最后一个数据包成功发送到 服务器是 0 毫秒前。这 驱动程序没有收到任何数据包 从服务器。 [SQL代码:0], [SQLState: 08S01]

有人见过这个吗?我没有看到任何有关此类或问题的最新讨论。我正在使用 django 1.2.5,jython 2.5.2。我尝试在 Fedora (jre-1.6.0-openjdk.x86_64) 和 Windows (Java(TM) SE Runtime Environment (build 1.6.0_23-b05)) 下运行 Java 应用程序。相同的行为。我还尝试了 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“广泛测试”)。各种配置都不会影响行为。

我该如何解决或者下一步应该去哪里?

【问题讨论】:

  • 您是否尝试在 java mysql 的上下文中使用 SElinux?
  • 还没有,但我没有看到任何消息表明它正在否认任何事情。我会尝试完全禁用它只是为了测试。

标签: python mysql django tomcat jython


【解决方案1】:

我发现了错误。事后看来,这很明显。我在数据库服务器的 IP 地址中做了一个 type-o,但只在 jython 分支上的配置文件中。结果,Jython 实例挂起,而 cPython 实例没有挂起。当我将两者合并为一个 settings.py 时发现错误(使用“if os.name=='java'”进行必要的 jython 更改。

所以。 . .这里的正确协议是什么?我应该删除问题还是保留它,以防其他人犯了与我相同的错误?

【讨论】:

  • 为了后代,我决定留下我的错误。我不能是唯一一个在 IP 地址上键入 o 而没有注意到它的人。
猜你喜欢
  • 1970-01-01
  • 2018-07-15
  • 1970-01-01
  • 2018-12-24
  • 2012-06-25
  • 2021-11-21
  • 2012-09-20
  • 2020-04-24
  • 2012-06-23
相关资源
最近更新 更多