📄 jtdsxaconnection.java
字号:
//jTDS JDBC Driver for Microsoft SQL Server and Sybase
//Copyright (C) 2004 The jTDS Project
//
//This library is free software; you can redistribute it and/or
//modify it under the terms of the GNU Lesser General Public
//License as published by the Free Software Foundation; either
//version 2.1 of the License, or (at your option) any later version.
//
//This library is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
//Lesser General Public License for more details.
//
//You should have received a copy of the GNU Lesser General Public
//License along with this library; if not, write to the Free Software
//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
package net.sourceforge.jtds.jdbcx;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.XAConnection;
import javax.transaction.xa.XAResource;
import net.sourceforge.jtds.jdbc.XASupport;
/**
* jTDS implementation of the <code>XAConnection</code> interface.
*
* @version $Id: JtdsXAConnection.java,v 1.4 2005/04/28 14:29:30 alin_sinpalean Exp $
*/
public class JtdsXAConnection extends PooledConnection implements XAConnection {
/** The XAResource used by the transaction manager to control this connection.*/
private final XAResource resource;
private final JtdsDataSource dataSource;
private final int xaConnectionId;
/**
* Construct a new <code>XAConnection</code> object.
*
* @param dataSource the parent <code>DataSource</code> object
* @param connection the real database connection
*/
public JtdsXAConnection(JtdsDataSource dataSource, Connection connection)
throws SQLException {
super(connection);
this.resource = new JtdsXAResource(this, connection);
this.dataSource = dataSource;
xaConnectionId = XASupport.xa_open(connection);
}
/**
* Retrieves the XA Connection ID to pass to server.
*
* @return the XA connection ID as an <code>Integer</code>
*/
int getXAConnectionID() {
return this.xaConnectionId;
}
//
// ------------------- javax.sql.XAConnection interface methods -------------------
//
public XAResource getXAResource() throws SQLException {
return resource;
}
public synchronized void close() throws SQLException {
try {
XASupport.xa_close(connection, xaConnectionId);
} catch (SQLException e) {
// Ignore close errors
}
super.close();
}
protected JtdsDataSource getXADataSource() {
return this.dataSource;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -