[Seasar-user:21307] [s2csv]同じCSVEntityを用いるCSVファイルをマルチスレッドで読み込むとバリデーションエラーとなる

大塚 [E-MAIL ADDRESS DELETED]
2012年 3月 30日 (金) 16:45:25 JST


seasar-userの皆様。
お世話になります。大塚です。

s2csvを利用させていただき、利便性の高さに感謝しております。

同ライブラリを用いて複数のCSVファイルをマルチスレッドに読み込んだところ、
以下の様に一定の頻度でバリデーションエラーとなるケースが発生したため報告いたします。

環境
OS:Windows7 64bit
JDK:1.6.0_25
JAR:s2-framework-2.4.45.jar、s2csv-0.0.2-sp1.jar

前提
 書式が同一のCSVファイル(10行程度)*15ファイル。
 同一のCSVEntityを使用。
 スレッド数は2ないし3でほぼ同時に起動。

現象
 本来はエラーとならない行(カラム)で、一定の頻度(200回中18回)でバリデーションエラーとなる。

その他
 s2csv.diconにて、org.seasar.s2csv.csv.desc.impl.CSVDescPoolImplを
 singletonからprototypeとしたところ発生しなくなりました。(0/200)
 また、シングルスレッドで実行した場合も発生しない様です。

再現させるためのミニマムコードがすぐには示せないのが申し訳ないですが、取り急ぎご報告まで。


Seasar-user メーリングリストの案内