我想创建基于注解的拦截器,当主数据库无法提供服务时,它将记录当前数据库的详细信息,并启用辅助数据库来支持应用程序。
我从下面的链接中找到了以下代码,但我找不到特定的 orcl 注解,该注解类似于下面的 aop 中的 @Aspect,请帮助找到它。
我从下面的链接中找到了以下代码,但我找不到特定的 orcl 注解,该注解类似于下面的 aop 中的 @Aspect,请帮助找到它。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:orcl="http://www.springframework.org/schema/data/orcl"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/data/orcl
http://www.springframework.org/schema/data/orcl/spring-data-orcl-1.0.xsd">
<aop:config>
<aop:advisor pointcut="execution(* *..PetStoreFacade.insertOrder(..))" 1
advice-ref="racFailoverInterceptor" order="1"/>
<aop:advisor pointcut="execution(* *..PetStoreFacade.*(..))" 2
advice-ref="txAdvice"/>
</aop:config>
<orcl:rac-failover-interceptor id="racFailoverInterceptor"/> 3
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="insert*"/>
<tx:method name="update*"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
</beans>
@ControllerAdvice
和@ExceptionHandler
来捕获可能导致数据库连接丢失的异常,并在Spring上下文中使用新配置更新DataSource bean属性。这只是我的想法,我相信应该有更好的方法来处理这种情况。 - Kamil W