Loading sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/adapter/AbstractConnectionAdapter.java +6 −6 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import io.shardingsphere.transaction.common.TransactionContextHolder; import io.shardingsphere.transaction.common.config.JDBCTransactionConfiguration; import io.shardingsphere.transaction.common.event.TransactionEvent; import io.shardingsphere.transaction.common.event.TransactionEventFactory; import io.shardingsphere.transaction.common.event.WeakXaTransactionEvent; import io.shardingsphere.transaction.common.event.LocalTransactionEvent; import javax.sql.DataSource; import java.sql.Connection; Loading Loading @@ -93,7 +93,7 @@ public abstract class AbstractConnectionAdapter extends AbstractUnsupportedOpera @Override public final void setAutoCommit(final boolean autoCommit) { this.autoCommit = autoCommit; TransactionContextHolder.set(new TransactionContext(new LocalTransactionManager(), TransactionType.XA, WeakXaTransactionEvent.class)); TransactionContextHolder.set(new TransactionContext(new LocalTransactionManager(), TransactionType.XA, LocalTransactionEvent.class)); recordMethodInvocation(Connection.class, "setAutoCommit", new Class[] {boolean.class}, new Object[] {autoCommit}); EventBusInstance.getInstance().post(buildTransactionEvent(TCLType.BEGIN)); } Loading Loading @@ -183,10 +183,10 @@ public abstract class AbstractConnectionAdapter extends AbstractUnsupportedOpera private TransactionEvent buildTransactionEvent(final TCLType tclType) { TransactionEvent result = TransactionEventFactory.create(tclType); if (result instanceof WeakXaTransactionEvent) { WeakXaTransactionEvent weakXaTransactionEvent = (WeakXaTransactionEvent) result; weakXaTransactionEvent.setCachedConnections(cachedConnections.values()); weakXaTransactionEvent.setAutoCommit(autoCommit); if (result instanceof LocalTransactionEvent) { LocalTransactionEvent localTransactionEvent = (LocalTransactionEvent) result; localTransactionEvent.setCachedConnections(cachedConnections.values()); localTransactionEvent.setAutoCommit(autoCommit); } return result; } Loading sharding-transaction/src/main/java/io/shardingsphere/transaction/api/local/LocalTransactionManager.java +8 −8 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package io.shardingsphere.transaction.api.local; import io.shardingsphere.transaction.api.TransactionManager; import io.shardingsphere.transaction.common.event.TransactionEvent; import io.shardingsphere.transaction.common.event.WeakXaTransactionEvent; import io.shardingsphere.transaction.common.event.LocalTransactionEvent; import javax.transaction.Status; import java.sql.Connection; Loading @@ -36,11 +36,11 @@ public final class LocalTransactionManager implements TransactionManager { @Override public void begin(final TransactionEvent transactionEvent) throws SQLException { WeakXaTransactionEvent weakXaTransactionEvent = (WeakXaTransactionEvent) transactionEvent; LocalTransactionEvent localTransactionEvent = (LocalTransactionEvent) transactionEvent; Collection<SQLException> exceptions = new LinkedList<>(); for (Connection each : weakXaTransactionEvent.getCachedConnections()) { for (Connection each : localTransactionEvent.getCachedConnections()) { try { each.setAutoCommit(weakXaTransactionEvent.isAutoCommit()); each.setAutoCommit(localTransactionEvent.isAutoCommit()); } catch (final SQLException ex) { exceptions.add(ex); } Loading @@ -50,9 +50,9 @@ public final class LocalTransactionManager implements TransactionManager { @Override public void commit(final TransactionEvent transactionEvent) throws SQLException { WeakXaTransactionEvent weakXaTransactionEvent = (WeakXaTransactionEvent) transactionEvent; LocalTransactionEvent localTransactionEvent = (LocalTransactionEvent) transactionEvent; Collection<SQLException> exceptions = new LinkedList<>(); for (Connection each : weakXaTransactionEvent.getCachedConnections()) { for (Connection each : localTransactionEvent.getCachedConnections()) { try { each.commit(); } catch (final SQLException ex) { Loading @@ -64,9 +64,9 @@ public final class LocalTransactionManager implements TransactionManager { @Override public void rollback(final TransactionEvent transactionEvent) throws SQLException { WeakXaTransactionEvent weakXaTransactionEvent = (WeakXaTransactionEvent) transactionEvent; LocalTransactionEvent localTransactionEvent = (LocalTransactionEvent) transactionEvent; Collection<SQLException> exceptions = new LinkedList<>(); for (Connection each : weakXaTransactionEvent.getCachedConnections()) { for (Connection each : localTransactionEvent.getCachedConnections()) { try { each.rollback(); } catch (final SQLException ex) { Loading sharding-transaction/src/main/java/io/shardingsphere/transaction/common/TransactionContext.java +2 −2 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ package io.shardingsphere.transaction.common; import io.shardingsphere.core.constant.TransactionType; import io.shardingsphere.transaction.api.TransactionManager; import io.shardingsphere.transaction.common.event.TransactionEvent; import io.shardingsphere.transaction.common.event.WeakXaTransactionEvent; import io.shardingsphere.transaction.common.event.LocalTransactionEvent; import lombok.Getter; import lombok.NoArgsConstructor; Loading @@ -37,7 +37,7 @@ public final class TransactionContext { private TransactionType transactionType = TransactionType.XA; private Class<? extends TransactionEvent> transactionEventClazz = WeakXaTransactionEvent.class; private Class<? extends TransactionEvent> transactionEventClazz = LocalTransactionEvent.class; public TransactionContext(final TransactionManager transactionManager, final TransactionType transactionType, final Class<? extends TransactionEvent> clazz) { this.transactionManager = transactionManager; Loading sharding-transaction/src/main/java/io/shardingsphere/transaction/common/TransactionContextFactory.java +5 −5 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package io.shardingsphere.transaction.common; import io.shardingsphere.core.constant.TransactionType; import io.shardingsphere.transaction.api.TransactionManager; import io.shardingsphere.transaction.common.event.WeakXaTransactionEvent; import io.shardingsphere.transaction.common.event.LocalTransactionEvent; import io.shardingsphere.transaction.common.event.XaTransactionEvent; import io.shardingsphere.transaction.api.local.LocalTransactionManager; import lombok.AccessLevel; Loading @@ -44,11 +44,11 @@ public class TransactionContextFactory { } /** * Create transaction context of weak XA. * Create local transaction context. * * @return weak XA transaction context * @return local transaction context */ public static TransactionContext newWeakXAContext() { return new TransactionContext(new LocalTransactionManager(), TransactionType.XA, WeakXaTransactionEvent.class); public static TransactionContext newLocalTransactionContext() { return new TransactionContext(new LocalTransactionManager(), TransactionType.XA, LocalTransactionEvent.class); } } sharding-transaction/src/main/java/io/shardingsphere/transaction/common/config/JDBCTransactionConfiguration.java +1 −1 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ public class JDBCTransactionConfiguration extends TransactionConfigurationAdapte protected TransactionManager doXaTransactionConfiguration(final TransactionType transactionType) { Optional<TransactionManager> transactionManager = doSPIConfiguration(transactionType); TransactionContext transactionContext = transactionManager.isPresent() ? TransactionContextFactory.newXAContext(transactionManager.get()) : TransactionContextFactory.newWeakXAContext(); ? TransactionContextFactory.newXAContext(transactionManager.get()) : TransactionContextFactory.newLocalTransactionContext(); TransactionContextHolder.set(transactionContext); return transactionContext.getTransactionManager(); } Loading Loading
sharding-jdbc/src/main/java/io/shardingsphere/core/jdbc/adapter/AbstractConnectionAdapter.java +6 −6 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import io.shardingsphere.transaction.common.TransactionContextHolder; import io.shardingsphere.transaction.common.config.JDBCTransactionConfiguration; import io.shardingsphere.transaction.common.event.TransactionEvent; import io.shardingsphere.transaction.common.event.TransactionEventFactory; import io.shardingsphere.transaction.common.event.WeakXaTransactionEvent; import io.shardingsphere.transaction.common.event.LocalTransactionEvent; import javax.sql.DataSource; import java.sql.Connection; Loading Loading @@ -93,7 +93,7 @@ public abstract class AbstractConnectionAdapter extends AbstractUnsupportedOpera @Override public final void setAutoCommit(final boolean autoCommit) { this.autoCommit = autoCommit; TransactionContextHolder.set(new TransactionContext(new LocalTransactionManager(), TransactionType.XA, WeakXaTransactionEvent.class)); TransactionContextHolder.set(new TransactionContext(new LocalTransactionManager(), TransactionType.XA, LocalTransactionEvent.class)); recordMethodInvocation(Connection.class, "setAutoCommit", new Class[] {boolean.class}, new Object[] {autoCommit}); EventBusInstance.getInstance().post(buildTransactionEvent(TCLType.BEGIN)); } Loading Loading @@ -183,10 +183,10 @@ public abstract class AbstractConnectionAdapter extends AbstractUnsupportedOpera private TransactionEvent buildTransactionEvent(final TCLType tclType) { TransactionEvent result = TransactionEventFactory.create(tclType); if (result instanceof WeakXaTransactionEvent) { WeakXaTransactionEvent weakXaTransactionEvent = (WeakXaTransactionEvent) result; weakXaTransactionEvent.setCachedConnections(cachedConnections.values()); weakXaTransactionEvent.setAutoCommit(autoCommit); if (result instanceof LocalTransactionEvent) { LocalTransactionEvent localTransactionEvent = (LocalTransactionEvent) result; localTransactionEvent.setCachedConnections(cachedConnections.values()); localTransactionEvent.setAutoCommit(autoCommit); } return result; } Loading
sharding-transaction/src/main/java/io/shardingsphere/transaction/api/local/LocalTransactionManager.java +8 −8 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package io.shardingsphere.transaction.api.local; import io.shardingsphere.transaction.api.TransactionManager; import io.shardingsphere.transaction.common.event.TransactionEvent; import io.shardingsphere.transaction.common.event.WeakXaTransactionEvent; import io.shardingsphere.transaction.common.event.LocalTransactionEvent; import javax.transaction.Status; import java.sql.Connection; Loading @@ -36,11 +36,11 @@ public final class LocalTransactionManager implements TransactionManager { @Override public void begin(final TransactionEvent transactionEvent) throws SQLException { WeakXaTransactionEvent weakXaTransactionEvent = (WeakXaTransactionEvent) transactionEvent; LocalTransactionEvent localTransactionEvent = (LocalTransactionEvent) transactionEvent; Collection<SQLException> exceptions = new LinkedList<>(); for (Connection each : weakXaTransactionEvent.getCachedConnections()) { for (Connection each : localTransactionEvent.getCachedConnections()) { try { each.setAutoCommit(weakXaTransactionEvent.isAutoCommit()); each.setAutoCommit(localTransactionEvent.isAutoCommit()); } catch (final SQLException ex) { exceptions.add(ex); } Loading @@ -50,9 +50,9 @@ public final class LocalTransactionManager implements TransactionManager { @Override public void commit(final TransactionEvent transactionEvent) throws SQLException { WeakXaTransactionEvent weakXaTransactionEvent = (WeakXaTransactionEvent) transactionEvent; LocalTransactionEvent localTransactionEvent = (LocalTransactionEvent) transactionEvent; Collection<SQLException> exceptions = new LinkedList<>(); for (Connection each : weakXaTransactionEvent.getCachedConnections()) { for (Connection each : localTransactionEvent.getCachedConnections()) { try { each.commit(); } catch (final SQLException ex) { Loading @@ -64,9 +64,9 @@ public final class LocalTransactionManager implements TransactionManager { @Override public void rollback(final TransactionEvent transactionEvent) throws SQLException { WeakXaTransactionEvent weakXaTransactionEvent = (WeakXaTransactionEvent) transactionEvent; LocalTransactionEvent localTransactionEvent = (LocalTransactionEvent) transactionEvent; Collection<SQLException> exceptions = new LinkedList<>(); for (Connection each : weakXaTransactionEvent.getCachedConnections()) { for (Connection each : localTransactionEvent.getCachedConnections()) { try { each.rollback(); } catch (final SQLException ex) { Loading
sharding-transaction/src/main/java/io/shardingsphere/transaction/common/TransactionContext.java +2 −2 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ package io.shardingsphere.transaction.common; import io.shardingsphere.core.constant.TransactionType; import io.shardingsphere.transaction.api.TransactionManager; import io.shardingsphere.transaction.common.event.TransactionEvent; import io.shardingsphere.transaction.common.event.WeakXaTransactionEvent; import io.shardingsphere.transaction.common.event.LocalTransactionEvent; import lombok.Getter; import lombok.NoArgsConstructor; Loading @@ -37,7 +37,7 @@ public final class TransactionContext { private TransactionType transactionType = TransactionType.XA; private Class<? extends TransactionEvent> transactionEventClazz = WeakXaTransactionEvent.class; private Class<? extends TransactionEvent> transactionEventClazz = LocalTransactionEvent.class; public TransactionContext(final TransactionManager transactionManager, final TransactionType transactionType, final Class<? extends TransactionEvent> clazz) { this.transactionManager = transactionManager; Loading
sharding-transaction/src/main/java/io/shardingsphere/transaction/common/TransactionContextFactory.java +5 −5 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package io.shardingsphere.transaction.common; import io.shardingsphere.core.constant.TransactionType; import io.shardingsphere.transaction.api.TransactionManager; import io.shardingsphere.transaction.common.event.WeakXaTransactionEvent; import io.shardingsphere.transaction.common.event.LocalTransactionEvent; import io.shardingsphere.transaction.common.event.XaTransactionEvent; import io.shardingsphere.transaction.api.local.LocalTransactionManager; import lombok.AccessLevel; Loading @@ -44,11 +44,11 @@ public class TransactionContextFactory { } /** * Create transaction context of weak XA. * Create local transaction context. * * @return weak XA transaction context * @return local transaction context */ public static TransactionContext newWeakXAContext() { return new TransactionContext(new LocalTransactionManager(), TransactionType.XA, WeakXaTransactionEvent.class); public static TransactionContext newLocalTransactionContext() { return new TransactionContext(new LocalTransactionManager(), TransactionType.XA, LocalTransactionEvent.class); } }
sharding-transaction/src/main/java/io/shardingsphere/transaction/common/config/JDBCTransactionConfiguration.java +1 −1 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ public class JDBCTransactionConfiguration extends TransactionConfigurationAdapte protected TransactionManager doXaTransactionConfiguration(final TransactionType transactionType) { Optional<TransactionManager> transactionManager = doSPIConfiguration(transactionType); TransactionContext transactionContext = transactionManager.isPresent() ? TransactionContextFactory.newXAContext(transactionManager.get()) : TransactionContextFactory.newWeakXAContext(); ? TransactionContextFactory.newXAContext(transactionManager.get()) : TransactionContextFactory.newLocalTransactionContext(); TransactionContextHolder.set(transactionContext); return transactionContext.getTransactionManager(); } Loading