[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Too many XMLContainers?



Hi,

I'd like to use Ozone to store about 150,000 XML documents that are on 
average 1-2KB (the dtd has over 400 elements and attributes, but most 
documents do not contain anywhere near the full number as you can tell from 
the size).

I've added a loop around the new SAX storing sample code that I just 
downloaded from the CVS so that it circles through an array of file names, 
loading each using a new XMLContainer (I just changed the file name to the 
string in the array but left the rest of the sample code pretty much 
alone).  My problem is that after awhile I get an error that the JVM has 
run out of memory...

Exception in thread "main" java.lang.OutOfMemoryError
         at org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:406)
         at org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:376)
         at 
org.ozoneDB.ExternalDatabase.createObject(ExternalDatabase.java:619)
         at 
org.ozoneDB.ExternalDatabase.createObject(ExternalDatabase.java:613)
         at 
org.ozoneDB.xml.util.XMLContainer.newContainer(XMLContainer.java:74)
         at NewSaxStore.main(NewSaxStore.java:83)

You just wrote:
>In contrast to ODMG database objects are always explicitely
>created/deleted in ozone.
>...
>No garbage collection, see above. Compaction is automatically handled.

At first I thought maybe I needed some sort of garbage collection on the 
server side, but now I'm guessing that maybe I need to change something in 
the properties file of the database.  Is there some documentation (I didn't 
see any on the web site) about what each of the characteristics mean?

Or, do I need to do something different to the SAX storing code?  Shouldn't 
creating a new XMLContainer delete the old from Ozone/JVM's memory?

Thanks for any assistance you can provide,

Kevin