2015-04-01 63 views
0

我试图按照其中规定Squeryl - HikariCP - MySQL的 - 读分发流量的奴隶

要启用此功能在http://dev.mysql.com/doc/connector-j/en/connector-j-master-slave-replication-connection.html列出的步骤,使用com.mysql.jdbc.ReplicationDriver 类时配置应用程序服务器的连接池

https://github.com/brettwooldridge/HikariCP - 它说

HikariCP将尝试通过DriverManager 解决驱动程序完全基于jdbcUrl

那么这种配置所需的所有?

db.default.url = JDBC:MySQL的:复制...

Squeryl具有有许多分贝适配器;但我的理解是这些是不相关的? http://squeryl.org/api/index.html#org.squeryl.adapters.MySQLInnoDBAdapter

很抱歉的关键字加载 - 我只是不太确定,我需要集中

感谢 布伦特

回答

0

Squeryl提供不同的MySQL适配器,因为InnoDB支持参考键,而做的MyISAM不。看起来你在做什么应该在连接池级别处理,所以我不认为你的Squeryl配置会有影响。

我从来没有为复制MySQL配置Hikari,但是如果它需要一个替代JDBC驱动程序,我会很惊讶,如果你可以提供一个JDBC URL并且一切正常。我猜Hikari的默认功能是选择普通的vanilla MySQL JDBC驱动程序,除非另有说明。幸运的是,Hikari有很多config options,包括设置特定的driverClassName的能力。

+0

HikariCP 2.3.6刚刚发布,并包含错误修正,以寻找特定的驱动程序时''指定了driverClassName''。以前的行为总是使用基于URL的解决方案。尽管如此,看着MySQL代码,似乎MySQL仍然应该自动注册ReplicationDriver(并且基于URL的解析应该可行)。 – brettw 2015-04-07 05:43:45

0

复制允许不同的URL:

jdbc:mysql:replication://[server1],[server2],[server2]/[database]

我从来没有尝试过,但我认为这将解决该ReplicationDriver。