1

Linux ボックスで奇妙な動作が見られます。コードは Win 7 で正常に動作します。問題のあるコードは xmlToJavaMap.keySet() でハングします。2 つのログ ステートメントのどちらもログに記録されません!!! ヒープ ダンプにデッドロックが見つかりません。

    ConcurrentHashMap<String,String> xmlToJavaMap = ApplicationContext.getBean("map");
    logger.info("before for loop");
    for (String key : xmlToJavaMap.keySet()) {
        logger.info("key: " + key);
        ...
    }   
    logger.info("map processed.");  

プラットフォーム: Java バージョン "1.7.0_11" Java(TM) SE ランタイム環境 (ビルド 1.7.0_11-b21) Java HotSpot(TM) 64 ビット サーバー VM (ビルド 23.6-b04、混合モード) Red Hat 4.4.7

4

3 に答える 3

1

jps -v を使用して、Java プロセスを監視します。次に、jstack を使用してスレッドのスタックを監視します。それはあなたが解決策を見つけるのを助けるかもしれません.

于 2015-12-04T16:03:11.223 に答える
0

これが実際に起こったことです:) xmlToJavaMap.keySet()実際にはNoSuchMethodで失敗し、スレッドは終了していました。エラー スタック トレースが別のログ ファイルに記録されていたため、混乱が生じていました。エラーが解決されると、すべてが正常に戻ります。

于 2015-12-11T14:55:45.887 に答える