ロードバランサーを使用してクラスターモードで実行しているWebアプリケーションがあります。これは、1つのDBのみをアドレス指定する2つのtomcat(T1およびT2)で構成されています。T2はT1にマウントされたnfsです。これは、両方のノード間の唯一の違いです。
いくつかのファイルを生成するJavaメソッドがあります。リクエストがT1で実行されている場合は問題ありませんが、リクエストがノード2で実行されている場合は、次のような例外が発生します。
java.io.IOException: Invalid argument
at java.io.FileOutputStream.close0(Native Method)
at java.io.FileOutputStream.close(FileOutputStream.java:279)
対応するコードは次のとおりです。
for (int i = 0; i < dataFileList.size(); i++) {
outputFileName = outputFolder + fileNameList.get(i);
FileOutputStream fileOut = new FileOutputStream(outputFileName);
fileOut.write(dataFileList.get(i), 0, dataFileList.get(i).length);
fileOut.flush();
fileOut.close();
}
例外はfileOut.close()に表示されます
ヒントはありますか?
ルイス