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

Reply via email to