Looking briefly at the code, it doesn't look like having a single
instance of a persistence manager would cause too many issues given the
datasourcepersistence manager as I implemented it. I do not have any
class level variables that would be used to do work in multiple threads
(ie no connection or prepared statement caches, etc). I'll do some
testing over the weekend or next week.
-paddy
Padraic Hannon wrote:
I completely agree with that approach (TDD). I think examining how
systems like hibernate and toplink handle session/connection
relationships would point us in the right direction. Since jackrabbit
is seen as something embedded within the servlet container using an
embedded db I see the reason for doing a connection per workspace,
however, once data grows to a certain point or the db becomes remote I
have a feeling that it would be advantageous to allow each worker
thread independent access to the repository. This would mean, however,
leveraging or creating a more complex transactional framework and
dealing with pooling, etc.
-paddy