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?

  • lad@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    14 days ago

    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.