Two hosts in jdbc url

久未见 提交于 2020-01-02 15:46:52

问题


We are using jdbc url like jdbc:mysql://localhost:3306/mysql. How could I set second mysql host in this url? If this is imposible, how could I set in my java application (hibernate) connection to second MySQL server? Thanks!

PS. actually we want to parallelize operations to two different databases. Is there any solution for that in Hibernate?


回答1:


This is really about failover/clustering.

jdbc:mysql://192.168.29.20:3306,192.168.29.20:6306/mysql should do it. see http://lists.mysql.com/cluster/249

Reference:

  • https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html



回答2:


an example for Oracle (failover with 3 hosts):

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.200.40.5)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.200.40.6)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=10.200.40.7)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=OLTP.WORLD)))

Regards.




回答3:


2 options here:

1) You can write some code which would change your hibernate properties and switch your DB url.

2) you can have multiple hibernate configurations for multiple session-factories.



来源:https://stackoverflow.com/questions/17788085/two-hosts-in-jdbc-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!