- PR -

EntityBeanのcreateでキャッシュがあふれる

1
投稿者投稿内容
常連さん
会議室デビュー日: 2002/07/16
投稿数: 20
投稿日時: 2003-09-05 16:15
WebLogic8.1で、メッセージ駆動型Beanから、
EntityBeanを大量にcreateすると、
キャッシュがいっぱいになったという意味の
CacheFullExceptionが発生します。
createしたEntityBeanは、参照しつづけている
わけではないのに、発生してしまいます。
不要なインスタンスを次々と破棄させたいので
すが、どのようにすれば良いでしょうか。
ken
常連さん
会議室デビュー日: 2002/04/29
投稿数: 38
投稿日時: 2003-09-05 16:23
単なる予想でしかありませんが、CMTで実装されているのであれば、
トランザクションが長(大きい)すぎるのではないでしょうか?
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2003-09-05 17:50
同一トランザクション内で大量にcreateしていたらいつかは CacheFullExceptionになります。適切に commit() か rollback() してあげましょう。
同一トランザクション内で大量のエンティティを扱う必要があるのであれば max-beans-in-cache を適切に増やす必要があります。デフォルトでは 1000 です。
・[weblogic-ejb-jar.xml デプロイメント記述子]-[max-beans-in-cache]
http://edocs.beasys.co.jp/e-docs/wls/docs81/ejb/reference.html#147739

それとも、トランザクションが終了しているにもかかわらず以前のトランザクションで create したエンティティでキャッシュが一杯になってしまうのでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)