ben905713861 opened a new issue #8221:
URL: https://github.com/apache/shardingsphere/issues/8221


   ### Which version of ShardingSphere did you use?
   5.0.0-alpha
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   ShardingSphere-Proxy
   ### Expected behavior
   I have write a customized ShardingTransactionManager class:
   ```java
   public class BASEShardingTransactionManager implements 
ShardingTransactionManager {
   
        private static Logger logger = 
LoggerFactory.getLogger(BASEShardingTransactionManager.class);
        private final Map<String, DataSource> dataSourceMap = new 
HashMap<String, DataSource>();
        
        @Override
        public void close() throws Exception {
                
        }
   
        @Override
        public void init(DatabaseType databaseType, 
Collection<ResourceDataSource> resourceDataSources) {
                for (ResourceDataSource each : resourceDataSources) {
                        dataSourceMap.put(each.getOriginalName(), 
each.getDataSource());
                }
        }
   
        @Override
        public TransactionType getTransactionType() {
                return TransactionType.BASE;
        }
   
        @Override
        public boolean isInTransaction() {
                logger.info("***isInTransaction");
                return true;
        }
   
        @Override
        public Connection getConnection(String dataSourceName) throws 
SQLException {
                logger.info("***dataSourceName:"+ dataSourceName);
                return dataSourceMap.get(dataSourceName).getConnection();
        }
   
        @Override
        public void begin() {
                logger.info("***user begin");
        }
   
        @Override
        public void commit() {
                logger.info("***user commit");
        }
   
        @Override
        public void rollback() {
                logger.info("***user rollback");
        }
   
   }
   ```
   
   After packaging in the sharding-proxy "ext-lib" folder and runing the 
sharding-proxy, I write SQL in a mysql client:
   ```sql
   BEGIN;
   update activity set startTime="2020-08-01 18:00:01" where activityId=30;
   ROLLBACK;
   ```
   
   I can't see the operation process of method `Connection getConnection(String 
dataSourceName)`  In the CMD debug.The customized `ShardingTransactionManager` 
class seems invalid.
   ```
   [INFO ] 16:11:23.187 [main] o.a.s.p.frontend.ShardingSphereProxy - 
ShardingSphere-Proxy start success.
   [INFO ] 16:11:30.788 [pool-4-thread-1] c.d.h.BASEShardingTransactionManager 
- ***user begin
   [INFO ] 16:11:44.539 [pool-4-thread-1] ShardingSphere-SQL - Logic SQL: 
update activity set startTime="2020-08-01 18:00:01" where activityId=30
   [INFO ] 16:11:44.539 [pool-4-thread-1] ShardingSphere-SQL - SQLStatement: 
MySQLUpdateStatement(orderBy=Optional.empty, limit=Optional.empty)
   [INFO ] 16:11:44.540 [pool-4-thread-1] ShardingSphere-SQL - Actual SQL: 
huodong ::: update activity set startTime="2020-08-01 18:00:01" where 
activityId=30
   [INFO ] 16:11:49.969 [pool-4-thread-1] c.d.h.BASEShardingTransactionManager 
- ***user rollback
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to