Return-Path: Delivered-To: apmail-db-ojb-dev-archive@www.apache.org Received: (qmail 70335 invoked from network); 26 Apr 2005 22:26:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 26 Apr 2005 22:26:29 -0000 Received: (qmail 24559 invoked by uid 500); 26 Apr 2005 22:27:15 -0000 Delivered-To: apmail-db-ojb-dev-archive@db.apache.org Received: (qmail 24518 invoked by uid 500); 26 Apr 2005 22:27:15 -0000 Mailing-List: contact ojb-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "OJB Developers List" Reply-To: "OJB Developers List" Delivered-To: mailing list ojb-dev@db.apache.org Received: (qmail 24496 invoked by uid 500); 26 Apr 2005 22:27:14 -0000 Received: (qmail 24492 invoked by uid 99); 26 Apr 2005 22:27:14 -0000 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Tue, 26 Apr 2005 15:27:14 -0700 Received: (qmail 70328 invoked by uid 1510); 26 Apr 2005 22:26:26 -0000 Date: 26 Apr 2005 22:26:26 -0000 Message-ID: <20050426222626.70327.qmail@minotaur.apache.org> From: arminw@apache.org To: db-ojb-cvs@apache.org Subject: cvs commit: db-ojb/src/java/org/apache/ojb/broker/cache ObjectCacheDefaultImpl.java ObjectCacheTwoLevelImpl.java X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N arminw 2005/04/26 15:26:26 Modified: src/java/org/apache/ojb/broker/cache Tag: OJB_1_0_RELEASE ObjectCacheDefaultImpl.java ObjectCacheTwoLevelImpl.java Log: fix cache synchronization issue when use OJB in managed environment with ObjectCacheDefaultImpl minor improvement in TLCache Revision Changes Path No revision No revision 1.24.2.5 +13 -3 db-ojb/src/java/org/apache/ojb/broker/cache/ObjectCacheDefaultImpl.java Index: ObjectCacheDefaultImpl.java =================================================================== RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/cache/ObjectCacheDefaultImpl.java,v retrieving revision 1.24.2.4 retrieving revision 1.24.2.5 diff -u -r1.24.2.4 -r1.24.2.5 --- ObjectCacheDefaultImpl.java 19 Feb 2005 20:11:31 -0000 1.24.2.4 +++ ObjectCacheDefaultImpl.java 26 Apr 2005 22:26:26 -0000 1.24.2.5 @@ -348,16 +348,25 @@ public void beforeRollback(PBStateEvent event) { synchronizeWithTracedObjects(); + identitiesInWork.clear(); } public void beforeCommit(PBStateEvent event) { - identitiesInWork.clear(); + // identitiesInWork.clear(); } public void beforeClose(PBStateEvent event) { - identitiesInWork.clear(); + /* + arminw: In managed environments listener method "beforeClose" is called twice + (when the PB handle is closed and when the real PB instance is closed/returned to pool). + We are only interested in the real close call when all work is done. + */ + if(!broker.isInTransaction()) + { + identitiesInWork.clear(); + } } public void afterRollback(PBStateEvent event) @@ -366,6 +375,7 @@ public void afterCommit(PBStateEvent event) { + identitiesInWork.clear(); } public void afterBegin(PBStateEvent event) 1.1.2.6 +3 -3 db-ojb/src/java/org/apache/ojb/broker/cache/Attic/ObjectCacheTwoLevelImpl.java Index: ObjectCacheTwoLevelImpl.java =================================================================== RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/cache/Attic/ObjectCacheTwoLevelImpl.java,v retrieving revision 1.1.2.5 retrieving revision 1.1.2.6 diff -u -r1.1.2.5 -r1.1.2.6 --- ObjectCacheTwoLevelImpl.java 12 Mar 2005 01:13:05 -0000 1.1.2.5 +++ ObjectCacheTwoLevelImpl.java 26 Apr 2005 22:26:26 -0000 1.1.2.6 @@ -124,7 +124,7 @@ + PersistenceBrokerImpl.class + " or of " + DelegatingPersistenceBroker.class + " to setup application cache, but was " + broker); } - this.sessionCache = new HashMap(); + this.sessionCache = new HashMap(100); // this.enabledReadCache = false; setupApplicationCache(broker, prop); if(broker != null) @@ -538,7 +538,7 @@ * Helper class to wrap cached objects using {@link java.lang.ref.SoftReference}, which * allows to release objects when they no longer referenced within the PB session. */ - final class CacheEntry extends SoftReference implements Serializable + static final class CacheEntry extends SoftReference implements Serializable { private int type; private Identity oid; --------------------------------------------------------------------- To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For additional commands, e-mail: ojb-dev-help@db.apache.org