是否可以 运行 使用 Tomcat 8 和 Liferay 7 进行长时间请求?

Is it possible to run a long time request with Tomcat 8 and Liferay 7?

我在用户越来越多的 Liferay 7 Tomcat8 平台上实现了一个时事通讯发送服务。当前的实现是同步的,也就是说我等待响应,但这还不够。我想增加 Tomcat 执行超时(我不知道是否需要增加 connectionTimeout 或另一个 Tomcat 参数),同时实现异步服务。是否可以增加 Tomcat 执行超时?任何执行异步请求的建议或示例?

可能吗?是的。这是个好主意吗?编号

对于异步处理,您可以查看Liferay 的Scheduler 来执行后台作业——实现取决于您的要求。您可以(同步地)创建邮件任务(例如确定邮件的收件人和文本)并存储它们以供稍后发送。在独立于前端的调度程序中,您可以在后台发送邮件。在您的前端,您甚至可以可视化当前队列大小,以便用户可以继续工作,而不是等待任意请求完成。

您可以使用任何其他技术来发送邮件,无需使用 Liferay 的调度程序。它可能是一个外部过程,或者任何可以完成工作的东西。您选择什么取决于您的要求。如果您从 Liferay 内部发送,您将拥有一组要部署和设置的插件,而其他方式可能会给您更大的处理灵活性,例如用 Perl 或 Python 编写批处理作业,如果你喜欢的话。