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

add TypedSPI to XATransactionManager (#8156)

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