2011-05-14 8 views
3

私は、デバイスに接続しているアプレットを持っており、そのパラメタをSNMPプロトコルで取得しています。 JRE 6u20では正常に動作していますが、JREを6u25にアップデートした後はうまく動作しません。アプレットがJRE 6u25で動作しない

6u20では、デバイスパラメタの取得には数秒かかりましたが、6u25ではそれ以上の時間がかかってしまい、最終的にほとんどのパラメータが取得されませんでした。

各パラメータを読み取るためのSwingWorkerがあり、これはJava SNMP Packageです。

これらのJREのバージョン間の相違点は何ですか?何が問題になるのかを知る方法は?

+1

@Andrew:ありがとう、私は質問を編集しました。 – Mehdi

+0

おそらく明白な質問ですが、バグデータベースをチェックしましたか? –

+0

@Andrew:6u24と6u23のバージョンを試しましたが、6u25として動作しません。いいえ、バグデータベースをチェックしていません。私は今それを確認します。 – Mehdi

答えて

4

最後に、私はそれが何か問題であると考えました。 Java SNMP Package GetRequestはスレッドセーフではありません。 JRE 6u20でのSwingWorkerのデフォルトのスレッド・プールが唯一のワーカースレッドを持っているので、JREの6u20上で何ら問題はなかったが、JREにSNMP取得要求に「同期」キーワードを追加することにより、ワーカースレッドの数は10

SwingWorker.MAX_WORKER_THREADS = 10; 

ある6u25方法は、問題が解決されます。

synchronized public SNMPVarBindList getMIBEntry(String itemID) 
関連する問題