首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中的主从程序和hibernate

问中的主从程序和hibernate
EN

Stack Overflow用户
提问于 2016-11-03 14:33:20
回答 2查看 584关注 0票数 0

我有一个用Dropwizard编写的应用程序,并使用hibernate连接到DB(mysql)。由于发布了新的特性,我期望为read加载很高的负载,并考虑提供从从DB读取的数据。我可以配置主从和权衡的不同方式是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-17 20:19:41

我解决的方法:

  1. 在我的例子中,我有两个会话工厂:一个是默认的,它与主人对话;另一个是名为"slaveDb“的,它与从数据库对话。
  2. 我为同一个实体创建了不同的道,一个用于从交互,另一个用于主。在从道中,我将它与slaveSessionFactory绑定
  3. 现在,工作单元注释只有一个属性"value“--如果您不使用它--在很多情况下我们不使用它,那么注释处理器将在默认会话工厂的顶部进行讨论。如果您在这里定义了一个名称,那么注释处理器将使用带有该特定名称的会话工厂。

在我的例子中,我只有一个从站,因为应用程序没有那么高的负载,所以我只想要从服务器生成报表。在许多奴隶的情况下,这个解决方案不能很好地推广。另外,当我在config.yaml文件中给出从机的详细信息时,我不需要将底层连接设置为只读。

票数 1
EN

Stack Overflow用户

发布于 2016-11-05 18:51:30

如果您使用@UnitOfWork注解,则为“否”和“是”。不,它们不允许您直接使用只读通信db。是的,您可以使用不同的db (主从)创建两个资源。一个用于写入和批判性读取(主)的资源,另一个用于只读(从)。

https://groups.google.com/forum/#!topic/dropwizard-user/nxURxVWDtEY

另外,正如链接所建议的那样,mysql驱动程序可以自动完成此操作,但是对于该会话,即使您在@UnitOfWork中设置了readOnly true,UnitOfWorkApplicationListener也应该是正确设置的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40404253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档