Hi guys,
I am struggling with a dead lock due to JDBC connections that don't seems to get released. I did a very simple test where I iterate over all nodes in the database and read their contents:
Iterator uris = new StructureIterator();
while(uris.hasNext()) {
String uri = (String) uris.next();
try {
final NodeRevisionDescriptors descriptors = m_content.retrieve(m_token, uri);
final NodeRevisionDescriptor descriptor = m_content.retrieve(m_token, descriptors);
final NodeRevisionContent content = m_content.retrieve(m_token, descriptors, descriptor);
[snip stuff]
}
catch (SlideException e) {
System.err.println(e);
}
}/**
* Iterates over all nodes within a Namespace
*/
class StructureIterator implements Iterator {private final ArrayStack m_stack = new ArrayStack();
StructureIterator() {
m_stack.push(m_structure.retrieve(m_token, "/"));
}
public boolean hasNext() {
return !m_stack.empty();
} public Object next() {
if (!hasNext()) {
throw new NoSuchElementException();
}
final ObjectNode node = (ObjectNode) m_stack.pop();
traverse(node);
return node.getUri();
}private void traverse(ObjectNode node) {
try {
m_stack.addAll(Collections.list(m_structure.getChildren(m_token, node)));
}
catch (SlideException e) {
m_logger.error("Error iterating through repository", e);
}
}
}
It looks like each iteration "eats" a database connection. Probably it is something I am doing wrong using the Slide API but this used to work.
Thoughts?
-- Unico
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
