Hi Mark, On Fri, Mar 9, 2012 at 1:59 PM, Mark Diggory <mdigg...@atmire.com> wrote: > Chris, > > I think that transactionality was always one of those tough points to > deal with in term of integrating DSpace and Fedora. Given most of the > DSpace structural/metadata relationships are stored in the DB and the > transactional window is used to cleanly abort any changes should > something unexpected occur, having some form of transactional API in > Fedora would make it much easier mapping for in terms of Fedora > replacing significant parts of DSpace database centric persistence > tier. > > Thinking along the lines of JCR Transaction support... > http://www.day.com/specs/jcr/2.0/21_Transactions.html > http://wiki.alfresco.com/wiki/Introducing_the_Alfresco_Java_Content_Repository_API#Transaction_Management
Hmmm...thinking aloud here. It seems that if one were to define a JCRFedoraStore, transactional or not, the impl would need to have the current javax.jcr.Session available to it to act against. And that wouldn't necessarily require the FedoraStore interface to be knowledgeable about JCR Sessions. If FedoraStore is a singleton (which is how I had initially thought of it), a ThreadLocal could be used. Otherwise, naming the interface FedoraStoreSession and constructor-injecting a javax.jcr.Session for the JCRFedoraStoreSession could be done each time a "fedora store session" was needed. I'm not sure which approach would be best. I'm kind of partial to the second as ThreadLocal seems like it would be a little too magic to someone trying to understand the code. Anyway, it seems on the surface that either method could be applied to a variety session-based (transactional or not) FedoraStore impls. - Chris ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Fedora-commons-developers mailing list Fedora-commons-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers