Jboss 数据源中的数据库故障转移
在 JBoss 数据源中,如何为我想要的数据库故障转移提供多个连接字符串。
将有两个具有相同表的 Mysql 数据库,例如 DB1 和 DB2。我想将数据插入到DB1中,如果DB1宕机了,那么我需要将其插入到DB2中。在插入 DB2 期间,如果 DB1 出现,我需要将其余数据插入 DB1。我如何在 JBoss 中配置它?
In JBoss data source how can I give multiple connection strings for database fail over in which I want .
There will be two Mysql db with same tables say DB1 and DB2. I want to insert data to DB1, if DB1 is down, then I need to insert it into DB2. During inserting into DB2 if the DB1 comes up I need to insert rest of the data into DB1. How can I configure this in my JBoss?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这适用于 jboss 映射
This will work for jboss mapping
请遵循本文档。 Jboss有配置设置。
https://community.jboss.org/wiki/JBossJCADatabaseFailover
此外,如果您不使用JNDI 和普通 JDBC 调用我有另一个解决方案 - 假设您正在进行 jdbc 调用,那么您将需要获得数据库连接,如果数据库关闭,那么您将获得数据库连接异常,在 try catch 块中,如果遇到连接异常,请在 catch 块本身中为第二个数据库创建连接:-)
更新:2/16/2022。
更新永远不会太晚。您还可以使用像 Resilience4J 这样的断路器。如果连接结果返回异常,您可以使用 .onError 事件尝试连接第二个数据库。 9年后,我会使用CB来解决这个问题。 Jboss 提供了内置机制来执行此操作,但其他一些服务器则不需要重新启动或额外的手动步骤。
Follow this documentation. Jboss has configuration setting.
https://community.jboss.org/wiki/JBossJCADatabaseFailover
Additionally, if you are NOT using JNDI and plain JDBC call I hav another solution - Say you are making a jdbc call then you will need to get a DB connection, if the DB is down then you will get Database connection exception, in the try catch block, if you encounter connection exception, create a connection in catch block itself for the second database :-)
Updated: 2/16/2022.
Never too late to update. You can also use Circuit breaker like Resilience4J. If the connection result comes back with exception, you can use .onError event to try connecting to second database. 9 Years later, I would use CB to solve this issue. Jboss provides inbuilt mechanism to do that but some other servers don't without restarting or additional manual steps.