Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用DropWizard处理长请求_Java_Jetty_Dropwizard - Fatal编程技术网

Java 使用DropWizard处理长请求

Java 使用DropWizard处理长请求,java,jetty,dropwizard,Java,Jetty,Dropwizard,我有一个简单的DropWizard服务,我想要一个RESTAPI来启动一个长时间运行的处理任务—CPU和I/O绑定。REST调用不会等待任务完成,将通过轮询/长轮询/web套接字发出通知 现在,我更愿意在Dropwizard中完成这项工作,并将所有内容保存在一个可部署的JAR中。我有什么选择 更新:我感兴趣的是关于在Dropwizard中运行长时间运行的任务的选项是什么,它作为单个jar部署,没有外部依赖关系。只是产生一个新的线程?假设这样的请求很少,它可能会工作,但应该有更好的选择。您可能希望

我有一个简单的DropWizard服务,我想要一个RESTAPI来启动一个长时间运行的处理任务—CPU和I/O绑定。REST调用不会等待任务完成,将通过轮询/长轮询/web套接字发出通知

现在,我更愿意在Dropwizard中完成这项工作,并将所有内容保存在一个可部署的JAR中。我有什么选择


更新:我感兴趣的是关于在Dropwizard中运行长时间运行的任务的选项是什么,它作为单个jar部署,没有外部依赖关系。只是产生一个新的线程?假设这样的请求很少,它可能会工作,但应该有更好的选择。

您可能希望使用托管资源:

设置线程池。然后,您的初始请求可以将消息推送到队列中。线程池可以从队列中提取消息并异步处理它们


您可以提供一个额外的端点,以便客户端可以获取异步进程的当前状态。

stackoverflow实际上是针对特定问题提供帮助,而不是帮助您选择设计。这就是说,考虑WebHook.Joakim-EdRy-增加了更多的细节到我原来的问题,希望现在更有意义。你能提供一个例子吗?网络插座对于这个案例是必要的吗?这是一个非常大的项目,举个例子,您需要编写前端和后端组件,后端需要处理多个请求。具体是哪一部分?我相信如果你到处搜索,肯定会有很多例子。WebSocket不是“必要的”——但这取决于你的UI。您可以重新加载部分屏幕以更新状态。链接已断开。更新到?