gpt4 book ai didi

java - 如何获取给定数据源的给定连接是 xa 还是非 xa?

转载 作者:行者123 更新时间:2023-11-30 08:13:50 24 4
gpt4 key购买 nike

使用此代码我无法获得 xa 或非 xa 的连接

DatabaseMetaData dbmd = con.getMetaData(); 
dbmd.getDriverName();

System.out.println("DriverName - "+dbmd.getDriverName()+"DriverName class - "+dbmd.getDriverName().getClass() +"DriverName class name - "+ dbmd.getDriverName().getClass().getName());
System.out.println("DriverVersion - "+dbmd.getDriverVersion());
System.out.println("MultipleTransactions - "+dbmd.supportsMultipleTransactions());
System.out.println("Transactions - "+dbmd.supportsTransactions());
System.out.println("getClassgetName - "+dbmd.getClass().getName());
System.out.println("CLASSNAME"+(dbmd.getDriverName()).getClass().getName());
System.out.println("url - "+dbmd.getURL()+" getUserName "+dbmd.getUserName());
System.out.println("DefaultTransactionIsolation - "+dbmd.getDefaultTransactionIsolation()+" Connection "+dbmd.getConnection()+" Connection class "+dbmd.getConnection().getClass()+" Connection class name "+dbmd.getConnection().getClass().getName());

最佳答案

您的问题标题为“给定数据源”。您有权访问 DataSource 对象吗?您的代码示例仅显示您有权访问连接。

假设您有权访问数据源对象,您可以简单地执行以下操作:

    if(myDataSource instanceof javax.sql.XADataSource)
System.out.println("XA datasource");
else{
try{
myDataSource.unwrap(javax.sql.XADataSource.class);
System.out.println("XA datasource");
} catch(SQLException sqle){
System.out.println("Not an XA datasource");
}
}

关于java - 如何获取给定数据源的给定连接是 xa 还是非 xa?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29943549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com