Class AlfrescoTxDiskDriver

  • All Implemented Interfaces:
    ExtendedDiskInterface, org.alfresco.jlan.server.core.DeviceInterface, org.alfresco.jlan.server.filesys.DiskInterface, org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface
    Direct Known Subclasses:
    ContentDiskDriver

    public abstract class AlfrescoTxDiskDriver
    extends AlfrescoDiskDriver
    implements org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface
    Alfresco Tx Disk Driver Base Class

    Provides common code to the Alfresco filesystem implementations.

    Author:
    gkspencer
    • Constructor Detail

      • AlfrescoTxDiskDriver

        public AlfrescoTxDiskDriver()
    • Method Detail

      • beginReadTransaction

        public void beginReadTransaction​(org.alfresco.jlan.server.SrvSession sess)
        Begin a read-only transaction
        Specified by:
        beginReadTransaction in interface org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface
        Parameters:
        sess - SrvSession
      • beginWriteTransaction

        public void beginWriteTransaction​(org.alfresco.jlan.server.SrvSession sess)
        Begin a writeable transaction
        Specified by:
        beginWriteTransaction in interface org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface
        Parameters:
        sess - SrvSession
      • doInWriteTransaction

        public <T> T doInWriteTransaction​(org.alfresco.jlan.server.SrvSession sess,
                                          AlfrescoTxDiskDriver.CallableIO<T> callback)
                                   throws java.io.IOException
        Perform a retryable operation in a write transaction

        WARNING : side effect - that the current transaction, if any, is ended.

        Parameters:
        sess - the server session
        callback - callback for the retryable operation
        Returns:
        the result of the operation
        Throws:
        java.io.IOException
      • endTransaction

        public void endTransaction​(org.alfresco.jlan.server.SrvSession sess,
                                   java.lang.Object tx)
        End an active transaction
        Specified by:
        endTransaction in interface org.alfresco.jlan.server.filesys.TransactionalFilesystemInterface
        Parameters:
        sess - SrvSession
        tx - Object