gpt4 book ai didi

java - 从 Java 启动 CherryPy 导致没有响应答案

转载 作者:行者123 更新时间:2023-12-01 12:17:52 26 4
gpt4 key购买 nike

我有一个Python项目,我为它创建了一个CherryPy-Webservice-Wrapper来通过Java客户端(特别是一个自行开发的Eclipse插件)访问它。 CherryPy-Server 也作为外部进程从 Java 启动:

Runtime.getRuntime().exec("python C:/Coding/Projects/p1/CherryPyServer.py " + port);

要从 Java 客户端操作 CherryPy-Server,我使用以下命令:

new URL("http://localhost:" + port + "/" + conf).openStream();

为了进行测试,我还使用浏览器(Google Chrome)访问 CherryPy。但过了一段时间,对于新的请求,CherryPy 在 Java 和 Chrome 中都不再使用react(Chrome 显示一个缓慢向左旋转的轮子),这意味着客户端不会从 CherryPy 得到答案。这种情况的发生是不可重现的,所以我永远无法说出它何时发生。而且,只有当我从 Java 启动 CherryPy 作为外部进程时,才会发生这种情况。当我将 CherryPy 作为“正常”服务启动时,不会出现此问题。

我的 CherryPy-Python-Project 有许多 stdout 和 stderr 输出,也许与此有关?

注意:切换到 Jython 不是一个选项(因为我需要 c_types-library)

最佳答案

除了 jwalker's comment关于 STDOUT 缓冲区 - 也许尝试将 STDOUT 和 STDERROR 通过管道传输到/dev/null,在较新版本的 bash 中将是:

python mycherrypyserver.py &> /dev/null

我还建议您查看您的 CherryPy session (如果您已启用它)。 session 锁定可能会阻止同一客户端查看另一个请求。参见这里:http://blog.schmichael.com/2007/09/20/session-locking-and-performance-in-cherrypy/

关于java - 从 Java 启动 CherryPy 导致没有响应答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26882910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com