Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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 web app框架,用于处理耗时计算的进程的客户端回调_Java_Web_Frameworks_Callback - Fatal编程技术网

Java web app框架,用于处理耗时计算的进程的客户端回调

Java web app框架,用于处理耗时计算的进程的客户端回调,java,web,frameworks,callback,Java,Web,Frameworks,Callback,我想了解一些在JavaWeb框架内处理长时间计算任务的方法,以及如何回调到浏览器客户机 我参加了JBoss远程处理和Spring远程处理 希望能够让客户端发送处理请求。处理可能需要X个时间,完成后会响应客户端 欢迎任何赞成、反对和建议 谢谢。有几种方法可以实现这一点: 使用Servlet3.0和 将实现与UI的长轮询或服务器推送合并 使用HTML5构建您的UI,并利用(最不可移植的解决方案) JBoss和SpringRemoting可能也是可行的解决方案,但它们实际上是为不同的目的而构建的。

我想了解一些在JavaWeb框架内处理长时间计算任务的方法,以及如何回调到浏览器客户机

我参加了JBoss远程处理和Spring远程处理

希望能够让客户端发送处理请求。处理可能需要X个时间,完成后会响应客户端

欢迎任何赞成、反对和建议


谢谢。

有几种方法可以实现这一点:

  • 使用Servlet3.0和
  • 将实现与UI的长轮询或服务器推送合并
  • 使用HTML5构建您的UI,并利用(最不可移植的解决方案)

JBoss和SpringRemoting可能也是可行的解决方案,但它们实际上是为不同的目的而构建的。

执行长时间的计算任务和为web应用程序推送服务器实际上是两件不同的事情

如前所述,使用comet的web应用程序将允许服务器推送(这是一个术语,表示web服务器可以在浏览器不启动请求的情况下将更新推送到浏览器)。有一些框架建立在这个基础之上。ICEfaces、Primefaces和ZK是三个支持此功能的web应用程序框架。Flex也支持从服务层推送数据

异步执行可以是任何简单的事情,比如一个运行的线程,它有足够的信息来启动服务器推送过程返回到客户机。您还可以使用基于消息的解决方案来处理长流程的异步执行


有很多选择,这实际上取决于您当前使用的工具/框架,并找到合适的工具/框架。

您可以使用GWT,它可以很好地处理异步调用。我在很多应用程序的后台都有大量的数据负载。用户可以与各种视图等进行交互。。。。它非常无缝地集成到GWT中,并使用其自制的rpc机制。此外,如果需要,也可以使用JBoss Errai进行推送(当然是在gwt中)。值得一看

我不得不在一些遗留项目中使用Icefaces,要做到这一点非常困难。GWT只是让它变得简单。除非将异步调用绑定到按钮之类的组件并确保请求未排队,否则您需要使用JS。很乱


我想只有我的两分钱。

在计算任务时,浏览器应该显示什么?我将看看您提到的AsyncTask以及Grails中支持的AsyncTask。谢谢