Xindice and all XML Databases are really designed to have a few fixed
number of collections open and lots of individual xml files. I would
recommend finding another way to use the collections.
If you set on having lots of collections which no matter what probably
won't scale try using the Embeded database where you could get better
access to the in memory collections.
Quick question how many collections are you opening?
Todd
Eickvonder Bjoern wrote:
Hello,
I'm using Xindice 1.1b4 (but tried it with current head too) embedded
within a webapplication using tomcat 4.1.27 / jdk 1.4.2 on a suse linux
system. I've configured 4 indexes for each collection. My problem is now
for each collection the java process opens the tbl-file and the four
idx-files when I register my database and only closes them if I shutdown
my database. The problem is now that I don't have a fixed number of
collections, but they can increase depending on what the user is doing
in the application. The result is that if the number gets too large i
get a "too many open files"-exception.
I know that I can increase the maximum number of open files per process
within linux but as the number of collections is not fixed this is not a
real solution.
Is there any possibility to tell Xindice to close a single collection in
such a way that the idx- and tbl-files are no longer held open and are
only reopened if I access them? Note that I already close my collections
after each operations by
Collection col = org.xmldb.api.DatabaseManager.getCollection(m_dbURL +
path); ... some operations on col ...
col.close();
but this does not have the desired effect.
Thank You
Bjoern Eickvonder
____________
Virus checked by G DATA AntiVirusKit
Version: AVK 15.0.5339 from 07.06.2005