1 of 1 people found this helpful
Unfortunately, I don't believe there is a way to use the JCR API to efficiently load an entire subtree (or a subtree of some depth). ModeShape's internal graph API does have support for something like this, and we use that internally in some functionality. But we're pretty strong advocates of using the JCR API whenever possible, so we haven't expose that functionality anywhere. I think it'd be possible to do, but maybe there are a few things you could try first.
Have you tried playing with the "readDepth" repository option? It may not help in your case, and even if it does in this particular case it may make other operations (that don't require reading subtrees) less efficient.
BTW, performance is largely dependent upon the connector(s) you're using. For example, the in-memory, Infinispan, and disk connectors are by far the fastest connectors, largely because of the way they work. Meanwhile, the JPA connector is very much dependent upon your DBMS and network (assuming the DB is not local).
Thank you very much Randall,
I clearly understand the need to keep with JCR API as much as possible, this is also the way we intend to develop our solution.
I did not know about the readDepth option, and i will check this one and the other likely to help us!
I will carefully read both documents you pointed out, thank you very much, it will be a great help.
About the connectors, we currently use a JPA and a SVN one, both in the same repository under a federator connector.
The network is quite good i think, not much lag, so we will see how we can improve it.
Thank you very much for your quick answer!
Have a very good day,