2011-07-13 5 views
1

feng office(PHP、Apache、MySQLのオープンソース、グループウェア)を変更しています。複数のファイルアップロード機能を実装しようとしています。SwingWorkerとHttpClient-4.1.1を使用しているSun JavaとOracleの間の奇妙なファイルのアップロード動作

(1)ユーザーがボタンをクリックすると(Webページ内)、JNLPがダウンロードされます。 (2)これにより「ファイルの選択」ダイアログが表示されます。ユーザーは複数のファイルを選択して「アップロード」、 (3)を押すと、ファイルがループでアップロードされ、各ファイルの後に進行状況バーが更新されます。

今、mfu.jar(複数ファイルアップロードコア)の中にあります。私たちはファイルをアップロードしてプログレスバーを更新するために、Apacheのhttpclient-4.1.1とSwingWorkerを使用しています[マルチスレッドのもの、 ;-)]。奇妙なことは、SunのJava(Sunロゴが表示されます)を使用しているマシンでは、問題は完璧に動作しています。 Open JDKまたはOracleのJava(Oracleロゴ、LinuxまたはWindows、32ビットまたは64ビット)のいずれかを使用するマシンでは、別々のファイルを正確に1回アップロードするのではなく、複数回アップロードする同じ内容)!

手がかりはありますか?

P.S:データが十分でない場合はお詫びします。私は、寄与する要素についての私の理解について、問題に集中しています。

EIDT:明らかにhttpclient-4.1.1はある種のキャッシュメカニズムを使用していますが、それでも厳密な関係は見つかりません。

+0

これまでのところ、マルチスレッドの処理を無効にすると問題が解決します。私たちはそれをテストしています。 –

答えて

0

問題を解決しました。どういうわけか、マルチスレッドの基本的なガイドラインのいくつかを忘れてしまいました。は、同じuploaderを同時に使用しようとしていました。我々はそれぞれSwingWorkrerに自分自身のuploaderを与え、物事は完全に働いています。

関連する問題