In order to share the running transaction into a DAO style data management class, I have wrapped the transaction in an Arc<Mutex> and pass it into the DAO.
The issue is, once the transaction is in there I cannot call commit() on it because it cannot be moved out of the Arc<Mutex> anymore, as the commit requires a mut self.
Any ideas on how to work around this?
If I understand correctly, each data-access structure represents single workflow, and you may have Transaction in that structure without the need for Arc<Mutex<…>> inside, but maybe you will need to wrap the structure itself with that.