未验证 提交 c3f78d6a 编写于 作者: kimmking's avatar kimmking 提交者: GitHub

add TypedSPI to XATransactionManager (#8156)

上级 eec6c105
......@@ -28,6 +28,7 @@ import javax.sql.XADataSource;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
import javax.transaction.TransactionManager;
import java.util.Properties;
/**
* Atomikos XA transaction manager.
......@@ -68,4 +69,19 @@ public final class AtomikosTransactionManager implements XATransactionManager {
public void close() {
userTransactionService.shutdown(true);
}
@Override
public String getType() {
return "atomikos";
}
@Override
public Properties getProps() {
return null;
}
@Override
public void setProps(Properties props) {
}
}
......@@ -29,6 +29,7 @@ import javax.sql.XADataSource;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
import javax.transaction.TransactionManager;
import java.util.Properties;
/**
* Bitronix sharding transaction manager.
......@@ -67,4 +68,19 @@ public final class BitronixXATransactionManager implements XATransactionManager
public void close() {
bitronixTransactionManager.shutdown();
}
@Override
public String getType() {
return "bitronix";
}
@Override
public Properties getProps() {
return null;
}
@Override
public void setProps(Properties props) {
}
}
......@@ -22,6 +22,7 @@ import org.apache.shardingsphere.transaction.xa.spi.XATransactionManager;
import javax.sql.XADataSource;
import javax.transaction.TransactionManager;
import java.util.Properties;
public final class FixtureXATransactionManager implements XATransactionManager {
......@@ -49,4 +50,19 @@ public final class FixtureXATransactionManager implements XATransactionManager {
@Override
public void close() {
}
@Override
public String getType() {
return "fixture";
}
@Override
public Properties getProps() {
return null;
}
@Override
public void setProps(Properties props) {
}
}
......@@ -29,6 +29,7 @@ import javax.sql.XADataSource;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
import javax.transaction.TransactionManager;
import java.util.Properties;
/**
* Narayana transaction manager.
......@@ -74,4 +75,19 @@ public final class NarayanaXATransactionManager implements XATransactionManager
recoveryManagerService.stop();
recoveryManagerService.destroy();
}
@Override
public String getType() {
return "narayana";
}
@Override
public Properties getProps() {
return null;
}
@Override
public void setProps(Properties props) {
}
}
......@@ -17,13 +17,16 @@
package org.apache.shardingsphere.transaction.xa.spi;
import org.apache.shardingsphere.infra.spi.typed.TypedSPI;
import javax.sql.XADataSource;
import javax.transaction.TransactionManager;
import java.util.Properties;
/**
* XA transaction manager.
*/
public interface XATransactionManager extends AutoCloseable {
public interface XATransactionManager extends AutoCloseable, TypedSPI {
/**
* Initialize XA transaction manager.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册