Return-Path: Delivered-To: apmail-geronimo-activemq-commits-archive@www.apache.org Received: (qmail 33977 invoked from network); 25 May 2006 04:58:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 25 May 2006 04:58:57 -0000 Received: (qmail 73915 invoked by uid 500); 25 May 2006 04:58:57 -0000 Delivered-To: apmail-geronimo-activemq-commits-archive@geronimo.apache.org Received: (qmail 73873 invoked by uid 500); 25 May 2006 04:58:57 -0000 Mailing-List: contact activemq-commits-help@geronimo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: activemq-dev@geronimo.apache.org Delivered-To: mailing list activemq-commits@geronimo.apache.org Received: (qmail 73864 invoked by uid 99); 25 May 2006 04:58:57 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 May 2006 21:58:57 -0700 X-ASF-Spam-Status: No, hits=0.6 required=10.0 tests=NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 May 2006 21:58:56 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 3CADF1A983A; Wed, 24 May 2006 21:58:36 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r409303 - in /incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl: IndexRootContainer.java KahaStore.java Date: Thu, 25 May 2006 04:58:35 -0000 To: activemq-commits@geronimo.apache.org From: chirino@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20060525045836.3CADF1A983A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: chirino Date: Wed May 24 21:58:35 2006 New Revision: 409303 URL: http://svn.apache.org/viewvc?rev=409303&view=rev Log: - do layz intialization of the containers. Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/IndexRootContainer.java incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/KahaStore.java Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/IndexRootContainer.java URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/IndexRootContainer.java?rev=409303&r1=409302&r2=409303&view=diff ============================================================================== --- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/IndexRootContainer.java (original) +++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/IndexRootContainer.java Wed May 24 21:58:35 2006 @@ -112,7 +112,7 @@ if (index != null){ return indexManager.getIndex(index.getValueOffset()); } - throw new IOException("Cannot find root for key " + key); + return null; } Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/KahaStore.java URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/KahaStore.java?rev=409303&r1=409302&r2=409303&view=diff ============================================================================== --- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/KahaStore.java (original) +++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl/KahaStore.java Wed May 24 21:58:35 2006 @@ -65,7 +65,6 @@ if(!closed){ closed=true; if(initialized){ -// indexManager.close(); for (Iterator iter = indexManagers.values().iterator(); iter.hasNext();) { IndexManager im = (IndexManager) iter.next(); @@ -85,8 +84,7 @@ public synchronized void force() throws IOException{ if(initialized){ -// indexManager.force(); - + for (Iterator iter = indexManagers.values().iterator(); iter.hasNext();) { IndexManager im = (IndexManager) iter.next(); im.force(); @@ -116,7 +114,7 @@ public synchronized boolean delete() throws IOException{ initialize(); clear(); - boolean result=true; //indexManager.delete(); + boolean result=true; for (Iterator iter = indexManagers.values().iterator(); iter.hasNext();) { IndexManager im = (IndexManager) iter.next(); @@ -146,16 +144,24 @@ public synchronized MapContainer getMapContainer(Object id, String dataContainerName) throws IOException{ initialize(); - MapContainer result=(MapContainer) maps.get(id); + MapContainerImpl result=(MapContainerImpl) maps.get(id); if(result==null){ + DataManager dm = getDataManager(dataContainerName); IndexManager im = getIndexManager(DEFAULT_INDEX_CONTAINER_NAME); + ContainerId containerId = new ContainerId(); containerId.setKey(id); containerId.setDataContainerPrefix(dataContainerName); - IndexItem root=mapsContainer.addRoot(containerId); + + IndexItem root=mapsContainer.getRoot(containerId); + if( root == null ) { + root=mapsContainer.addRoot(containerId); + } result=new MapContainerImpl(containerId,root,im,dm); + result.expressDataInterest(); maps.put(containerId.getKey(),result); + } return result; } @@ -186,15 +192,19 @@ public synchronized ListContainer getListContainer(Object id, String dataContainerName) throws IOException{ initialize(); - ListContainer result=(ListContainer) lists.get(id); + ListContainerImpl result=(ListContainerImpl) lists.get(id); if(result==null){ DataManager dm = getDataManager(dataContainerName); IndexManager im = getIndexManager(DEFAULT_INDEX_CONTAINER_NAME); ContainerId containerId = new ContainerId(); containerId.setKey(id); containerId.setDataContainerPrefix(dataContainerName); - IndexItem root=listsContainer.addRoot(containerId); + IndexItem root=listsContainer.getRoot(containerId); + if( root == null ) { + root=listsContainer.addRoot(containerId); + } result=new ListContainerImpl(containerId,root,im,dm); + result.expressDataInterest(); lists.put(containerId.getKey(),result); } return result; @@ -245,23 +255,7 @@ } mapsContainer=new IndexRootContainer(mapRoot,rootIndex,rootData); listsContainer=new IndexRootContainer(listRoot,rootIndex,rootData); - rootData.consolidateDataFiles(); - for(Iterator i=mapsContainer.getKeys().iterator();i.hasNext();){ - ContainerId key=(ContainerId) i.next(); - DataManager dm = getDataManager(key.getDataContainerPrefix()); - IndexItem root=mapsContainer.getRoot(key); - BaseContainerImpl container=new MapContainerImpl(key,root,rootIndex,dm); - container.expressDataInterest(); - maps.put(key.getKey(),container); - } - for(Iterator i=listsContainer.getKeys().iterator();i.hasNext();){ - ContainerId key=(ContainerId) i.next(); - DataManager dm = getDataManager(key.getDataContainerPrefix()); - IndexItem root=listsContainer.getRoot(key); - BaseContainerImpl container=new ListContainerImpl(key,root,rootIndex,dm); - container.expressDataInterest(); - lists.put(key.getKey(),container); - } + for (Iterator i = dataManagers.values().iterator(); i.hasNext();){ DataManager dm = (DataManager) i.next(); dm.consolidateDataFiles();