Skip to content

Commit

Permalink
* 条件替换
Browse files Browse the repository at this point in the history
  • Loading branch information
fjn committed Jan 15, 2021
1 parent ed68b7b commit 7507caf
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 32 deletions.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,20 @@ public class DynamicDataSourceTransactionFactoryCustomizer implements Configurat
public void customize(Configuration configuration) {
Environment oldEnv = configuration.getEnvironment();
if (oldEnv != null) {
String id = oldEnv.getId();
DataSource dataSource = oldEnv.getDataSource();
if (dataSource instanceof NamedDataSource) {
id = ((NamedDataSource) dataSource).getDataSourceKey().getId();
}

TransactionFactory transactionFactory = new DynamicDataSourceManagedTransactionFactory();
Environment newEnv = new Environment(id, transactionFactory, dataSource);
configuration.setEnvironment(newEnv);
boolean replaceIt = oldEnv.getTransactionFactory() == null || !(oldEnv.getTransactionFactory() instanceof DynamicDataSourceManagedTransactionFactory);
if (replaceIt) {

String id = oldEnv.getId();
DataSource dataSource = oldEnv.getDataSource();
if (dataSource instanceof NamedDataSource) {
id = ((NamedDataSource) dataSource).getDataSourceKey().getId();
}

TransactionFactory transactionFactory = new DynamicDataSourceManagedTransactionFactory();
Environment newEnv = new Environment(id, transactionFactory, dataSource);
configuration.setEnvironment(newEnv);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,18 @@ public class DynamicDataSourceTransactionFactoryCustomizer implements Configurat
public void customize(MybatisConfiguration configuration) {
Environment oldEnv = configuration.getEnvironment();
if (oldEnv != null) {
String id = oldEnv.getId();
DataSource dataSource = oldEnv.getDataSource();
if (dataSource instanceof NamedDataSource) {
id = ((NamedDataSource) dataSource).getDataSourceKey().getId();
}
boolean replaceIt = oldEnv.getTransactionFactory() == null || !(oldEnv.getTransactionFactory() instanceof DynamicDataSourceManagedTransactionFactory);
if(replaceIt) {
String id = oldEnv.getId();
DataSource dataSource = oldEnv.getDataSource();
if (dataSource instanceof NamedDataSource) {
id = ((NamedDataSource) dataSource).getDataSourceKey().getId();
}

TransactionFactory transactionFactory = new DynamicDataSourceManagedTransactionFactory();
Environment newEnv = new Environment(id, transactionFactory, dataSource);
configuration.setEnvironment(newEnv);
TransactionFactory transactionFactory = new DynamicDataSourceManagedTransactionFactory();
Environment newEnv = new Environment(id, transactionFactory, dataSource);
configuration.setEnvironment(newEnv);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,18 @@ public class DynamicDataSourceTransactionFactoryCustomizer implements Configurat
public void customize(Configuration configuration) {
Environment oldEnv = configuration.getEnvironment();
if (oldEnv != null) {
String id = oldEnv.getId();
DataSource dataSource = oldEnv.getDataSource();
if (dataSource instanceof NamedDataSource) {
id = ((NamedDataSource) dataSource).getDataSourceKey().getId();
}
boolean replaceIt = oldEnv.getTransactionFactory() == null || !(oldEnv.getTransactionFactory() instanceof DynamicDataSourceManagedTransactionFactory);
if(replaceIt) {
String id = oldEnv.getId();
DataSource dataSource = oldEnv.getDataSource();
if (dataSource instanceof NamedDataSource) {
id = ((NamedDataSource) dataSource).getDataSourceKey().getId();
}

TransactionFactory transactionFactory = new DynamicDataSourceManagedTransactionFactory();
Environment newEnv = new Environment(id, transactionFactory, dataSource);
configuration.setEnvironment(newEnv);
TransactionFactory transactionFactory = new DynamicDataSourceManagedTransactionFactory();
Environment newEnv = new Environment(id, transactionFactory, dataSource);
configuration.setEnvironment(newEnv);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,18 @@ public class DynamicDataSourceTransactionFactoryCustomizer implements Configurat
public void customize(Configuration configuration) {
Environment oldEnv = configuration.getEnvironment();
if (oldEnv != null) {
String id = oldEnv.getId();
DataSource dataSource = oldEnv.getDataSource();
if (dataSource instanceof NamedDataSource) {
id = ((NamedDataSource) dataSource).getDataSourceKey().getId();
}
boolean replaceIt = oldEnv.getTransactionFactory() == null || !(oldEnv.getTransactionFactory() instanceof DynamicDataSourceManagedTransactionFactory);
if (replaceIt) {
String id = oldEnv.getId();
DataSource dataSource = oldEnv.getDataSource();
if (dataSource instanceof NamedDataSource) {
id = ((NamedDataSource) dataSource).getDataSourceKey().getId();
}

TransactionFactory transactionFactory = new DynamicDataSourceManagedTransactionFactory();
Environment newEnv = new Environment(id, transactionFactory, dataSource);
configuration.setEnvironment(newEnv);
TransactionFactory transactionFactory = new DynamicDataSourceManagedTransactionFactory();
Environment newEnv = new Environment(id, transactionFactory, dataSource);
configuration.setEnvironment(newEnv);
}
}
}
}

0 comments on commit 7507caf

Please sign in to comment.