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]