【发布时间】:2013-06-21 14:20:45
【问题描述】:
我有一个 Web 应用程序 (Java + Flex),我在其中上传了一个包含大量行的 csv 文件,然后对其进行处理并插入到数据库中。完成处理需要一个多小时,但 Flex 给了我这个错误:
[RPC Fault faultString="error" faultCode="Channel.Call.Failed" faultDetail="NetConnection.Call.Failed: HTTP: Failed"]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:220]
at mx.rpc::Responder/fault()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\Responder.as:53]
at mx.rpc::AsyncRequest/fault()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:103]
at NetConnectionMessageResponder/channelFaultHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\channels\NetConnectionChannel.as:669]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.messaging.channels::AMFChannel/statusHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\channels\AMFChannel.as:365]
你们能帮帮我吗?显示大约需要 1 小时,文件在服务器上继续处理。
谢谢!
【问题讨论】:
-
Flex 将在您的服务器返回超时响应后立即给您该错误(应该在几秒钟后)。我认为您应该能够简单地收听故障事件并吞下它。 (不过有点好奇:你到底在做什么,需要一个小时来处理?根据 CSV 数据渲染 3D 电影?)
-
这听起来像是应该启动请求(并返回它已启动)的情况,并且应用程序会定期轮询状态;或某种形式的消息传递系统(如 WebSockets、Comet 或 GraniteDS 的 Gravity),供服务器在处理完成时将消息发送回客户端。
标签: java apache-flex jakarta-ee adobe amf