为什么django jython与MySQL数据库的连接会导致“通信链接失败”?

时间:2011-04-07 00:23:13

标签: python mysql django tomcat jython

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

  

通讯链接失败

     

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

有没有人见过这个?我最近没有看到这种类型或问题的讨论。我正在使用django 1.2.5,jython 2.5.2。我尝试在Fedora(jre-1.6.0-openjdk.x86_64)和Windows(Java(TM)SE运行时环境(版本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进行了“广泛测试”) )。各种配置都不会影响行为。

我如何解决它或者我应该在哪里寻找它?

1 个答案:

答案 0 :(得分:0)

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

所以。 。 。这里的正确协议是什么?我应该删除这个问题还是留下来以防其他人犯同样的错误?