使用scoped bean来处理AbstractRoutingDataSource

时间:2015-08-18 16:14:19

标签: java spring

我从2007年开始关注this tutorial,了解如何使用 Spring 设置多个可选DataSource个实例:

我的问题是,由于文章很老,现在有更好的方法来实现这一点,而不是使用ThreadLocal吗?

我尝试使用会话范围的bean来完成同样的事情,但我不断收到臭名昭着的No thread-bound request found错误。

1 个答案:

答案 0 :(得分:1)

您绝对可以使用作用域代理来实现相同的结果,但是否这样做更好将在很大程度上取决于您部署应用程序的方式。

如果它是一个Web应用程序,那么您可以通过多种方式获取范围代理,例如:

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/context/request/RequestContextListener.html

如果它是一个独立的应用程序,那么可以实现您自己的自定义范围:

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-factory-scopes-custom

但是,如果你只是绑定到一个threadlocal,那么就没那么重要了。