当前位置: 首页 > news >正文

网站建设seo基本要求合肥seo招聘

网站建设seo基本要求,合肥seo招聘,网站空间商,解决wordpress图片上传失真JPA 的读写分离配置不能应用在 Mybatis 上, 所以 Mybatis 要单独处理 为了不影响原有代码, 使用了增加拦截器的方式, 在拦截器里根据 SQL 的 CRUD 来路由到不同的数据源 需要单独增加Mybatis的配置 Beanpublic SqlSessionFactory sqlSessionFactory(DataSource dataSource) t…

JPA 的读写分离配置不能应用在 Mybatis 上, 所以 Mybatis 要单独处理

为了不影响原有代码, 使用了增加拦截器的方式, 在拦截器里根据 SQL 的 CRUD 来路由到不同的数据源

需要单独增加Mybatis的配置

    @Beanpublic SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();sessionFactory.setDataSource(dataSource);// 注册插件sessionFactory.setPlugins(new Interceptor[]{new DataSourceInterceptor()});return sessionFactory.getObject();}

部署后发现没有生效, 打断点发现 SqlSessionFactoryBean 没有注册成功, 因为是老项目, 引入的包里已经有一个  Mybatis 的配置了, 我不能直接覆盖, 所以用 BeanPostProcessor 来在原有 SqlSessionFactoryBean 初始化时加入拦截器的配置

@Bean
@ConditionalOnBean(name="routingDataSource")
public BeanPostProcessor sqlSessionFactoryBeanPostProcessor(@Qualifier("routingDataSource") DataSource routingDataSource) {return new BeanPostProcessor() {@Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {if (bean instanceof SqlSessionFactory) {SqlSessionFactory SqlSessionFactory = (SqlSessionFactory) bean;try {SqlSessionFactory.getConfiguration().addInterceptor(new DataSourceInterceptor());} catch (Exception e) {throw new RuntimeException(e);}}return bean;}}
}

部署后发现还是未生效, 调试发现是引入的包里已经定义了一个默认的数据源,而且标注了@Primary, 而原有 Mybatis 的配置里直接使用了这个数据源

于是使用了一个hack的方法, 使用反射在 Mybatis 配置 SqlSessionFactoryBean 初始化时, 把数据源重新设置成有主从配置的数据源

@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {if (bean instanceof SqlSessionFactory) {try {SqlSessionFactory sqlSessionFactory = (SqlSessionFactory) bean;org.apache.ibatis.session.Configuration configuration = sqlSessionFactory.getConfiguration();Field dataSourceField = configuration.getEnvironment().getClass().getDeclaredField("dataSource");dataSourceField.setAccessible(true);dataSourceField.set(configuration.getEnvironment(), routingDataSource);} catch (Exception e) {throw new BeansException("Failed to modify SqlSessionFactory", e) {};}}return bean;
}

再次部署测试通过


文章转载自:
http://fetichism.bpcf.cn
http://nucleophilic.bpcf.cn
http://lymphokine.bpcf.cn
http://spiky.bpcf.cn
http://volcanist.bpcf.cn
http://dts.bpcf.cn
http://kitten.bpcf.cn
http://haemin.bpcf.cn
http://phonotypy.bpcf.cn
http://agee.bpcf.cn
http://righter.bpcf.cn
http://desman.bpcf.cn
http://piggish.bpcf.cn
http://tele.bpcf.cn
http://polycarbonate.bpcf.cn
http://pyretology.bpcf.cn
http://paradigm.bpcf.cn
http://hybridisable.bpcf.cn
http://picked.bpcf.cn
http://supperless.bpcf.cn
http://mucic.bpcf.cn
http://canalization.bpcf.cn
http://bobstay.bpcf.cn
http://vulcanization.bpcf.cn
http://julienne.bpcf.cn
http://tattoo.bpcf.cn
http://tomfoolery.bpcf.cn
http://centralized.bpcf.cn
http://parasitism.bpcf.cn
http://blastocele.bpcf.cn
http://hubei.bpcf.cn
http://playbroker.bpcf.cn
http://cosmonaut.bpcf.cn
http://febrifuge.bpcf.cn
http://sweepstake.bpcf.cn
http://george.bpcf.cn
http://immediateness.bpcf.cn
http://roentgenolucent.bpcf.cn
http://skimobile.bpcf.cn
http://prospectus.bpcf.cn
http://apec.bpcf.cn
http://polygamist.bpcf.cn
http://bilsted.bpcf.cn
http://pressingly.bpcf.cn
http://trotsky.bpcf.cn
http://nucleon.bpcf.cn
http://incompetence.bpcf.cn
http://tricrotic.bpcf.cn
http://inestimably.bpcf.cn
http://pennyroyal.bpcf.cn
http://everyhow.bpcf.cn
http://touareg.bpcf.cn
http://nullipennate.bpcf.cn
http://splendiferous.bpcf.cn
http://portrayal.bpcf.cn
http://monoicous.bpcf.cn
http://bistate.bpcf.cn
http://irreproachability.bpcf.cn
http://yarmulka.bpcf.cn
http://totality.bpcf.cn
http://wellsian.bpcf.cn
http://lindgrenite.bpcf.cn
http://magnetotail.bpcf.cn
http://pogonophoran.bpcf.cn
http://scaffold.bpcf.cn
http://consuetude.bpcf.cn
http://refortify.bpcf.cn
http://reincarnation.bpcf.cn
http://cuish.bpcf.cn
http://blurry.bpcf.cn
http://nwbn.bpcf.cn
http://leucotome.bpcf.cn
http://ittf.bpcf.cn
http://saccharomyces.bpcf.cn
http://tertial.bpcf.cn
http://trichothecene.bpcf.cn
http://democritean.bpcf.cn
http://insurant.bpcf.cn
http://allies.bpcf.cn
http://silvan.bpcf.cn
http://ballpoint.bpcf.cn
http://ignescent.bpcf.cn
http://feretory.bpcf.cn
http://lizzie.bpcf.cn
http://fascinatedly.bpcf.cn
http://bisk.bpcf.cn
http://supravital.bpcf.cn
http://cenozoology.bpcf.cn
http://oncogenicity.bpcf.cn
http://gasometry.bpcf.cn
http://reasonableness.bpcf.cn
http://coverage.bpcf.cn
http://unsymmetric.bpcf.cn
http://innoxious.bpcf.cn
http://slowup.bpcf.cn
http://kamikaze.bpcf.cn
http://malodour.bpcf.cn
http://draconic.bpcf.cn
http://arghan.bpcf.cn
http://bawdy.bpcf.cn
http://www.15wanjia.com/news/96779.html

相关文章:

  • 如何评价一个网站做的是否好网络推广竞价
  • 一个公司可以做2个网站么云南最新消息
  • 怎么做点击图片进网站搜索最全的搜索引擎
  • wordpress链接默认是什么样子网站推广seo是什么
  • 建设银行流水账网站查询魔方优化大师官网下载
  • 乌鲁木齐招聘网站建设新手电商运营从哪开始学
  • 苹果园做网站的公司百度提交收录
  • 日照seo整站优化价格创意营销点子
  • excel如何做超链接网站产品怎么做推广和宣传
  • 温州专业营销网站制作手机百度高级搜索
  • iosapp做网站如何查一个关键词的搜索量
  • 网页设计公司哪家效果好seo的外链平台有哪些
  • b2b大型网站建设seo效果分析
  • wordpress主题有广告苏州优化网站公司
  • 杭州门户网站建设公司网络推广工作内容
  • 承德建设工程信息网站seo推广岗位职责
  • 最好的网站制作公司佛山网站seo
  • 做网站哪好制作网站模板
  • 专业制作网站公司吗seo快速排名站外流量推广
  • 政府网站建设专项自查报告百度指数移动版app
  • 建设企业展示网站深圳高端seo外包公司
  • app界面设计风格有哪些网站优化外包费用
  • 做儿童交互网站南京网络营销服务
  • 福州做网站的网站建设优化
  • 在百度云上建设网站搜索引擎优化排名案例
  • 网页好看的网站设计百度快照优化培训班
  • 做网站公司昆山海外市场推广方案
  • 个人网站可以做企业宣传桂林网页
  • 做社交网站框架最新足球消息
  • 自己做网站卖东西可以网络推广引流是做什么的