AbstractEngineAutoConfiguration类有setDataSource,我能不能修改它达到效果
也没觉得有多难啊 - - 刚才试了下,一下就搞定了
启动报错在创建AppEngineFactoryBean这个bean的时候,说找不到表,默认配置下还是获取primary库,
启动看一下效果,我库里面没有表,启动肯定是报错的,主要看数据库是不是还是primary库
启动被回调了,日志已经有了
最后这样解决了:
@Override
public void beforeInit(AbstractEngineConfiguration abstractEngineConfiguration) {
if (initialized.compareAndSet(false, true)) {
DataSource dataSource = abstractEngineConfiguration.getDataSource();
if (dataSource instanceof TransactionAwareDataSourceProxy) {
dataSource = ((TransactionAwareDataSourceProxy) dataSource).getTargetDataSource();
}
if (dataSource instanceof DynamicRoutingDataSource) {
DataSource ds = ((DynamicRoutingDataSource) dataSource).getDataSource("gsconfig");
abstractEngineConfiguration.setDataSource(ds);
}
LOGGER.info("启动中切换数据源...");
}
}