私は春にibatisを使ってmysqlに書き込んでいます。
断続的なバグがあります。プロセスの各サイクルで、データベースに 2 つの行を書き込みます。次のサイクルでは、前のサイクルから行を読み込みました。ときどき (30 に 1 回、より頻繁に、またはそれ以下の頻度で) データベースから 1 行しか返されません。
考えられるすべてのキャッシュをオフにしました。私の sqlmap-config.xml には次のように書かれています:
<sqlMapConfig>
<settings enhancementEnabled="false" statementCachingEnabled="false" classInfoCacheEnabled="false"/>
<sqlMap resource="ibatis/model/cognitura_core.xml"/>
いくつかの非同期性がありますか、そうでなければ、Spring、ibatis、または欠落している mysql ドライバーへのキャッシュがありますか?
spring 3.0.5、mybatis 2.3.5、mysql-connector-java 5.0.5 を使用
編集1:
接続のプール (c3p0) を使用していることが原因でしょうか? 読んでいるときに挿入がまだ実行されている可能性はありますか。奇妙ですが、非同期を明示的に宣言しない限り、すべてが同期的に発生すると思いましたか?