今日もお仕事頑張りましたFeADうぇずです。
気づけばもう月末ですね。ブログを書き始めてからあっという間の一ヶ月でした...。
いや。ホントに早過ぎる...。
さて、早速。お仕事でぶつかった1つの課題をご紹介。怒られました...みなさんは怒られないように気をつけてくださいね涙
JavaでFileを作成すると一時ファイル出力フォルダにデータが作られる
今回、画像データを処理上で持ち回すにあたって、一度Fileクラスに変換する必用があったのでFileデータを作成して処理を実行しておりました。
処理上Fileクラスなので特にパスなどの情報もなく、さらさらーっと処理を進めて商品画面を表示していたのですが...本日...
「サーバーの容量がどんどん減ってるんだけど?」
という先輩の鬼の一声が...。マジで冷や汗。
ってことで早々に調査!!!!!マジでお昼も抜くレベルで調査!!
そうすると分かってきました。
メモリ上で作っていると思っていたFileクラスが、実は初期値の一時ファイル作成フォルダにデータを作っているということが!!!
Fileクラス上ではパスデータは持っていないのですが、Tomcatの起動パラメータ内で一時ファイル作成フォルダのパスを持っているみたいです。
確認方法はTimcatの起動フォルダ内の、version.shを実行。
するとCATALINA_BASEとCATALINA_TMPDIRが分かりますので、その中の「CATALINA_TMPDIR」です。
こいつですこいつ。これが一時ファイル保存フォルダパスです。
設定場所は「setenv.sh」らしいのですが、このファイルは自分で作らないと存在しない為、基本的には初期値(CATALINA_TMPDIR/temp/)みたいです。
うちも初期値のままでした。
このフォルダにばんばんファイルが溜まってサーバーが容量一杯で身動き出来なくなる直前まで来ておりました...。
ひさびさに時間との勝負で焦りました。作り手としてもっといろいろ知っていないとダメですね。反省です...
明日も仕事頑張りますよ!少ししょぼくれ気味なFeADうぇずでした!
ゾンビランドサガ見ながらご飯食べてエネルギー補充!!!