Interstage Application Server トラブルシューティング集
目次 索引 前ページ次ページ

第9章 J2EEアプリケーション開発・運用時の異常> 9.8 EJBサービス使用時の異常

9.8.11 デッドロックが発生する場合

 データベースにSymfowareを使用している場合、Entity Beanを利用して複数件のレコードを検索して更新する処理を複数端末から同時に実行すると、デッドロックが発生することがあります。
 この場合は、プライマリキーを検索するSELECT文にFOR UPDATEを指定するようにしてください。
 BMPの場合はEJBアプリケーションのejbFind<METHOD>メソッドで、CMPの場合はCMP定義のfinder定義に指定します。

BMPの場合 SELECT ID FROM SAMPLESCM.SAMPLETBL WHERE ID > ? FOR UPDATE
CMPの場合 WHERE @ID > ?param1? FOR UPDATE

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005