2016-05-02 14 views
0

Nashornを使用して、 proxy.pacファイル(IEとFirefoxで動作)で特定のURLのプロキシを取得します。StackOverflowError Nashornを使用してpacプロキシファイルを解析します

私はこのコードではStackOverflowErrorを取得する:

while (retrycounter < 50) { 
     try { 
      engine.eval(myscript); 
      break; 
      } catch (StackOverflowError e) { 
      retrycounter ++; 
      } 
} 

奇妙なことですが、私は、デバッグモードでこのコードを実行すると、私はengine.eval(のMyScript)にブレークポイントを作る とき、それは、動作します。デバッガでステップオーバーします。

pacファイルはかなり大きいです - 900行。 ファイルにshExpMatch(.....)行がたくさんあります。

私がLine 400-600を削除すると、私のスクリプトは非デバッグモードでも動作します。 Line 400-500を削除しても機能しません。 Line 500-600を取り外すと機能しません。

Nashorn Engineのファイルサイズに問題がありますか?

私はデバッグモードで動作し、私がファイルを縮小すると、より多くのコードを投稿しません。

Java 1.8.0_73を使用すると問題が発生します。 1.8.0_77と1.8.0_91で動作します。

古いバージョンでスクリプトを実行する可能性はありますか? エンジンの設定が必要なのでしょうか?

よろしく

答えて

0

同じコードが新しいJavaのバージョンで動作します。 1.8.0_91(1.8.0_7xxも機能していましたが、わかりません)

関連する問題