1

我们正在修改 feng office(PHP、Apache 和 MySQL 中的开源、组件)。我们正在尝试实现多文件上传功能。这是流程:

(1) 用户单击按钮(在网页中),下载 JNLP (2) 导致出现“选择文件”对话框。用户选择多个文件并按“上传”,(3) 然后文件循环上传,每个文件后都会更新进度条。

现在,在 mfu.jar(多文件上传核心)里面。我们使用 apache httpclient-4.1.1 和 SwingWorker 来上传文件和更新进度条[多线程的东西,我有告诉过你我们有多酷吗?;-)]。奇怪的是,在使用 Sun 的 java(出现 Sun 徽标)的机器上,事情运行良好。在使用 Open JDK 或 Oracle 的 Java 的机器上(出现 Oracle 徽标,Linux 或 Windows,32 位或 64 位),而不是只上传一次不同的文件,我们最终会多次上传其中一个文件(同名,相同的内容)!

任何线索?

PS:如果数据不够,我深表歉意,我试图将注意力集中在问题上,以了解我对影响因素的理解。

EIDT:显然httpclient-4.1.1使用了某种缓存机制,仍然找不到任何严格的关系。

4

1 回答 1

0

问题解决了。不知何故,我们忘记了考虑多线程的一些非常基本的准则,所有的SwingWorkers 都试图uploader同时使用相同的。我们给了每个人SwingWorkrer自己的uploader东西,一切都很好。

于 2011-07-14T08:45:09.420 回答