Package com.sleepycat.je.jca.ra

Source Code of com.sleepycat.je.jca.ra.JEConnection

/*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 2002, 2011 Oracle and/or its affiliates.  All rights reserved.
*
*/

package com.sleepycat.je.jca.ra;

import java.io.Closeable;
import javax.resource.ResourceException;

import com.sleepycat.je.Database;
import com.sleepycat.je.DatabaseConfig;
import com.sleepycat.je.DatabaseException;
import com.sleepycat.je.Environment;
import com.sleepycat.je.SecondaryConfig;
import com.sleepycat.je.SecondaryDatabase;
import com.sleepycat.je.Transaction;

/**
* A JEConnection provides access to JE services. See
* <JEHOME>/examples/jca/HOWTO-**.txt and
* <JEHOME>/examples/jca/simple/SimpleBean.java for more information on
* how to build the resource adaptor and use a JEConnection.
*/
public class JEConnection implements Closeable {

    private JEManagedConnection mc;
    private JELocalTransaction txn;

    public JEConnection(JEManagedConnection mc) {
        this.mc = mc;
    }

    protected void setManagedConnection(JEManagedConnection mc,
                                        JELocalTransaction lt) {
        this.mc = mc;
        if (txn == null) {
            txn = lt;
        }
    }

    JELocalTransaction getLocalTransaction() {
        return txn;
    }

    void setLocalTransaction(JELocalTransaction txn) {
        this.txn = txn;
    }

    public Environment getEnvironment() {
        return mc.getEnvironment();
    }

    public Database openDatabase(String name, DatabaseConfig config)
        throws DatabaseException {

        return mc.openDatabase(name, config);
    }

    public SecondaryDatabase openSecondaryDatabase(String name,
                                                   Database primaryDatabase,
                                                   SecondaryConfig config)
        throws DatabaseException {

        return mc.openSecondaryDatabase(name, primaryDatabase, config);
    }

    public void removeDatabase(String databaseName)
        throws DatabaseException {

        mc.removeDatabase(databaseName);
    }

    public long truncateDatabase(String databaseName, boolean returnCount)
        throws DatabaseException {

        return mc.truncateDatabase(databaseName, returnCount);
    }

    public Transaction getTransaction()
        throws ResourceException {

        if (txn == null) {
            return null;
        }

        try {
            return txn.getTransaction();
        } catch (DatabaseException DE) {
            ResourceException ret = new ResourceException(DE.toString());
            ret.initCause(DE);
            throw ret;
        }
    }

    public void close() {
        mc.close();
    }
}
TOP

Related Classes of com.sleepycat.je.jca.ra.JEConnection

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.