java - 如何通过 Play! 中的请求启动后台线程!框架?

标签 java playframework playframework-2.0

我一直在研究这部剧!框架,我有兴趣将我的一个项目转换为它。但是,该项目要求根据用户操作生成长时间运行的线程,但线程的结果不会通过正常的请求响应方法返回给用户。相反,用户会被重定向到一个监视他们已启动的线程的页面。

所以,我想知道如何创建一个用户操作,每当用户 POST 到/start 时创建一个线程,但该线程会自动进入“后台”并且用户收到诸如“ok”或甚至是重定向,而不是线程的输出。

我还想对线程进行某种程度的控制;换句话说,我不想只是创建一个线程并让它运行。我想要某种全局引用点,以便用户可以在线程启动后停止该线程(例如通过访问/stop)。

最佳答案

Play 提供了特殊的 Job,可以定期在后台运行或在应用程序启动时运行,但我认为它不适合您。

在您的情况下,您可以简单地生成新的Thread或使用Java API向Executor提交新任务并向用户返回响应。要停止Thread,您可以使用带有循环和中断标志的标准方法。这里的 play 框架没有什么特别的,只是普通的 java api。

关于java - 如何通过 Play! 中的请求启动后台线程!框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13026587/

相关文章:

playframework - 在Play Framework 2.0上运行进化

java - postgresql - 在 java 项目中定义串行数据类型

java - 在 Tomcat 上运行 Play Framework 2.0?

java - 如何从一个线程访问另一个线程的方法?

java - NullPointerException : ProGuard, Spring 启动

用于 Play 的 Json "Validate"

playframework-2.0 - 将Google云客户端库添加到Play 2.5时获取ChannelException

playframework - 我应该使用什么注释来使用 Ebean 创建索引?

java - 如何从平面 SQL 选择结果集创建嵌套映射

java - 如何删除文件夹及其子文件夹中的所有文件?