【发布时间】:2016-02-03 22:47:32
【问题描述】:
我有一个使用 Hibernate 作为 JPA 实现并使用 Guice 将所有服务绑定在一起的 Java 编写的正在运行的 Jersey 应用程序。
我的用例在于让一个应用实例服务于多个本地化,在不同的主机下可用。简单的例子是application.com 和application.fr 的英文版和法文版。根据触发的主机,我需要切换应用程序以使用不同的数据库。
目前,我只有一个单例SessionFactory configure,它被所有数据访问对象使用,只提供对一个数据库的访问。
我正在尝试提出最简单的方法来将有关国家/地区上下文的信息从资源(我可以从请求上下文中获取它)一直传递到 DAO,它需要选择多个中的一个SessionFactorys.
我可以在每个服务方法中传递一个参数,但这似乎很乏味。我想使用一个注册表,它有一个由 Jersey 过滤器设置的当前国家/地区参数的 ThreadLocal 实例,但是线程本地人会在使用 Executors 等时中断。
有什么优雅的方法可以实现这一点吗?
【问题讨论】:
-
您使用的是哪个 Jersey 版本?
-
我们使用 Jersey 2.19,不时更新未成年人
标签: java hibernate jersey guice jersey-2.0