[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 メーリングリストの案内