- - PR -
EntityBeanのcreateでキャッシュがあふれる
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-09-05 16:15
WebLogic8.1で、メッセージ駆動型Beanから、
EntityBeanを大量にcreateすると、 キャッシュがいっぱいになったという意味の CacheFullExceptionが発生します。 createしたEntityBeanは、参照しつづけている わけではないのに、発生してしまいます。 不要なインスタンスを次々と破棄させたいので すが、どのようにすれば良いでしょうか。 |
|
投稿日時: 2003-09-05 16:23
単なる予想でしかありませんが、CMTで実装されているのであれば、
トランザクションが長(大きい)すぎるのではないでしょうか? |
|
投稿日時: 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
