ozoneusertransaction.java

来自「Java的面向对象数据库系统的源代码」· Java 代码 · 共 77 行

JAVA
77
字号
// You can redistribute this software and/or modify it under the terms of
// the Ozone Library License version 1 published by ozone-db.org.
//
// The original code and portions created by SMB are
// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved.
//
// $Id: OzoneUserTransaction.java,v 1.2 2002/09/18 06:54:18 per_nyfelt Exp $

package org.ozoneDB.xa;

import javax.transaction.*;


/**
 * The UserTransaction interface defines the methods that allow an application
 * to explicitly manage transaction boundaries.
 * 
 * 
 * @author <a href="http://www.softwarebuero.de/">SMB</a>
 * @version $Revision: 1.2 $Date: 2002/09/18 06:54:18 $
 */
public final class OzoneUserTransaction implements UserTransaction {
    
    /**
     * Holds a reference to the underlying transaction manager.
     */
    private static TransactionManager txManager;
    
    
    public void setTransactionManager( TransactionManager _txManager ) {
        txManager = _txManager;
    } 
    
    
    public OzoneUserTransaction() {
    }
    
    
    public void begin() throws NotSupportedException, SystemException {
        // The logic for user transaction is to never support nested
        // transactions, regardless of what the transaction server
        // can do.
        if (txManager.getTransaction() != null) {
            throw new NotSupportedException( "Nested transactions not supported in beans" );
        } 
        txManager.begin();
    } 
    
    
    public void commit() 
            throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException,
            IllegalStateException, SystemException {
        txManager.commit();
    } 
    
    
    public void rollback() throws IllegalStateException, SecurityException, SystemException {
        txManager.rollback();
    } 
    
    
    public int getStatus() throws SystemException {
        return txManager.getStatus();
    } 
    
    
    public void setRollbackOnly() throws SystemException {
        txManager.setRollbackOnly();
    } 
    
    
    public void setTransactionTimeout( int seconds ) throws SystemException {
        txManager.setTransactionTimeout( seconds );
    } 
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?