|
@@ -18,9 +18,13 @@ public class DefaultDataSourceSwitcher implements DataSourceSwitcher {
|
|
|
//默认数据源标识
|
|
|
private static final String DEFAULT_DATASOURCE_ID = DataSourceSwitcher.class.getName() + "_default_";
|
|
|
|
|
|
- private Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
+ protected Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
|
|
|
- private Deque<String> getUsedHistoryQueue() {
|
|
|
+ protected String getDefaultDataSourceIdKey(){
|
|
|
+ return DEFAULT_DATASOURCE_ID;
|
|
|
+ }
|
|
|
+
|
|
|
+ protected Deque<String> getUsedHistoryQueue() {
|
|
|
// 从ThreadLocal中获取一个使用记录
|
|
|
return ThreadLocalUtils.get(DefaultDataSourceSwitcher.class.getName() + "_queue", LinkedList::new);
|
|
|
}
|
|
@@ -54,7 +58,7 @@ public class DefaultDataSourceSwitcher implements DataSourceSwitcher {
|
|
|
|
|
|
@Override
|
|
|
public void useDefault() {
|
|
|
- getUsedHistoryQueue().addLast(DEFAULT_DATASOURCE_ID);
|
|
|
+ getUsedHistoryQueue().addLast(getDefaultDataSourceIdKey());
|
|
|
if (logger.isDebugEnabled()) {
|
|
|
logger.debug("try use default datasource");
|
|
|
}
|
|
@@ -67,7 +71,7 @@ public class DefaultDataSourceSwitcher implements DataSourceSwitcher {
|
|
|
}
|
|
|
|
|
|
String activeId = getUsedHistoryQueue().getLast();
|
|
|
- if (DEFAULT_DATASOURCE_ID.equals(activeId)) {
|
|
|
+ if (getDefaultDataSourceIdKey().equals(activeId)) {
|
|
|
return null;
|
|
|
}
|
|
|
return activeId;
|