You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/05/25 06:58:35 UTC
svn commit: r409303 - in
/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/kaha/impl:
IndexRootContainer.java KahaStore.java
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();