这是我的问题:-
我正在构建一个客户端-服务器应用程序,在该应用程序中我将请求发布到服务器以为我生成 2 个 XML(服务器从数据库中获取信息并根据获取的信息生成 XML)。现在,一旦服务器创建了这 2 个 XML,服务器将这 2 个文件流回客户端,以便客户端可以将它们保存在他们的机器上。
(发布+从流中阅读)是一项工作。如果没有第二个操作,即从流中读取,作业是不完整的。
我在 eclipse 中创建了一个作业,它将请求发布到服务器并获取流文件并将它们保存在客户端计算机上。将请求发布到服务器是一个异步调用(它会立即返回)。一旦调用被发布并立即返回,我开始在网络管道上轮询任何数据服务器已发送(在本例中是 XML 的数据)并将其写入文件。
正如您在此处看到的,从流中读取 XML 并将它们写入文件是整个主作业的一部分,但它本身仍然是一个单独的作业(应该在单独的线程中运行)。如果用户取消主作业,从网络流中读取也应该被取消。
所以,基本上我的要求是完成这一切的可取消工作。从流中读取应该是单独的线程/作业,但应该在主作业内。如果用户取消了主作业,这个内部作业(从作业中读取)也应该被取消。
你们能建议一种干净的方法吗?
-Ankit