1

我有一个非常奇怪的场景,涉及一个被调用两次但只发生在 Linux(Ubuntu) 部署上的方法。

我有两种方法,每种方法都由按钮提交单独调用。它们每个都需要很长时间来处理。一种方法加载 .xls 文件列表,处理并将每一行插入数据库(来自 35 个 xls 文件的 320172 条记录)。另一种方法采用 XML 文件,使用 XStream 对其进行处理以创建对象并向生成的每个对象发送电子邮件(生成 823 个对象)。

开发系统(Windows 7、MySQL、smtp4Dev)上没有出现问题,但在 Linux 上部署时,所选方法被调用两次 - 仅两次。

添加 println 'this method was called' + new Date() -在第一次调用后一分钟再次调用该方法(单击按钮);每次; 一分钟到一秒,尽管服务器负载。

整整一分钟后,页面返回“502 - bad gateway”,但进程继续(我看到持续的数据库插入和持续的电子邮件(将收件人地址更改为我的电子邮件以尝试调试)。

每种方法都有效,但它会执行两次(重复(不是三次或更多次)数据库记录和电子邮件),我不知道为什么它们被调用两次。

每个部署都使用 Struts 2,并且这些方法不以“get”开头,因此不太可能是 JSON 问题(JSON 未在特定页面上使用,并且在一次不同的错误修复尝试中,注释掉了 struts 中的所有 JSON 结果.xml 用于该操作)。两个部署都在 Tomcat 上运行。

4

0 回答 0