2011-04-07 65 views
1

我试图将django/cPython应用程序转换为使用Jython作为Tomcat WAR运行。我们使用的是一个mysql数据库(MySQL中的jPython中的MySQLdb/mysql-connector-java-5.1.15-bin.jar)。我改变了两种配置之间的DATABASE_ENGINE。该应用程序与cPython运行良好(在禁用了对http连接到数据库的SELinux限制之后)。首页,图像和静态内容在jython中工作。然而,当我要求访问数据库的页面时,它似乎挂起了一阵,然后返回:为什么连接到MySQL数据库的django jython会出现“通信链接失败”?

通信链路故障

成功发送到 的最后一个数据包服务器为0毫秒前。驱动程序尚未收到来自服务器的任何数据包 。 [SQLCode将:0], [SQLSTATE:08S01]

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

我该如何解决或我应该在下一步看什么?

+0

你有没有尝试在java环境下使用SElinux玩弄mysql? – 2011-04-07 01:05:04

+0

还没有,但是我还没有看到任何消息以表明它拒绝任何东西,我会尝试彻底禁用它只是为了测试 – 2011-04-07 01:07:36

+0

没有运气,同样的行为:( – 2011-04-07 01:49:43

回答

0

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

所以......这里的正确协议是什么?删除这个问题还是留下来以防别人犯同样类型的错误我做了?

+0

我已经决定为后代留下我的错误了,我不能是唯一的一个用于在IP地址上输入-o而不会注意到它。 – 2011-04-14 02:10:48

相关问题