WSO2是否支持MySQL主/从集群?
我曾尝试在WSO2集群部署中使用MySQL主/从集群,但在启动时失败。WSO2是否只支持MySql无共享群集?它如何支持MySQL主/从 我的数据源配置如下:WSO2是否支持MySQL主/从集群?,wso2,mysql-cluster,Wso2,Mysql Cluster,我曾尝试在WSO2集群部署中使用MySQL主/从集群,但在启动时失败。WSO2是否只支持MySql无共享群集?它如何支持MySQL主/从 我的数据源配置如下: <datasource> <name>WSO2REG_LOCAL</name> <description>The datasource used for registry</description> <jndiConfig&g
<datasource>
<name>WSO2REG_LOCAL</name>
<description>The datasource used for registry</description>
<jndiConfig>
<name>jdbc/WSO2REG_LOCAL</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:mysql:replication://wso2dbmaster:3306,wso2dbslave1:3306,wso2dbslave2:3306/WSO2_REG_LOCAL_AM_GW_MGR_1?roundRobinLoadBalance=true;autoReconnect=true;</url>
<username>test</username>
<password>test</password>
<driverClassName>com.mysql.jdbc.ReplicationDriver</driverClassName>
<defaultAutoCommit>false</defaultAutoCommit>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
<datasource>
<name>WSO2REG_DB</name>
<description>This shared datasource used for registry</description>
<jndiConfig>
<name>jdbc/WSO2REG_DB</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:mysql:replication://wso2dbmaster:3306,wso2dbslave1:3306,wso2dbslave2:3306/WSO2_REG_DB?roundRobinLoadBalance=true;autoReconnect=true;</url>
<username>test</username>
<password>test</password>
<driverClassName>com.mysql.jdbc.ReplicationDriver</driverClassName>
<defaultAutoCommit>false</defaultAutoCommit>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
<currentDBConfig>wso2registry</currentDBConfig>
<readOnly>false</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
<dbConfig name="wso2registry">
<dataSource>jdbc/WSO2REG_LOCAL</dataSource>
</dbConfig>
<dbConfig name="sharedregistry">
<dataSource>jdbc/WSO2REG_DB</dataSource>
</dbConfig>
<remoteInstance url="https://localhost:9443/registry">
<id>instanceid</id>
<dbConfig>sharedregistry</dbConfig>
<readOnly>false</readOnly>
<enableCache>true</enableCache>
<registryRoot>/</registryRoot>
<cacheId>wso2db@jdbc:mysql:replication://wso2dbmaster:3306,wso2dbslave1:3306,wso2dbslave2:3306/WSO2_REG_DB?roundRobinLoadBalance=true;autoReconnect=true;</cacheId>
</remoteInstance>
org.wso2.carbon.registry.core.exceptions.RegistryException:执行处理程序链时发生异常。无效的
....
ID:[0][AM][2015-03-09 13:31:03417]错误{org.wso2.carbon.registry.core.dataaccess.TransactionManager}-回滚事务失败。{org.wso2.carbon.registry.core.dataaccess.TransactionManager}
java.sql.SQLException:可用连接的总数小于回滚或提交的连接的总数
位于org.wso2.carbon.registry.core.jdbc.dataaccess.JDBCDatabaseTransaction$ManagedRegistryConnection.rollback(JDBCDatabaseTransaction.java:1284)
位于org.wso2.carbon.registry.core.jdbc.dataaccess.jdbtransactionmanager.rollbackTransaction(jdbtransactionmanager.java:120)
位于org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.rollbackTransaction(EmbeddedRegistry.java:447)
位于org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.get(EmbeddedRegistry.java:552)
位于org.wso2.carbon.registry.core.caching.CacheBackedRegistry.get(CacheBackedRegistry.java:180)
位于org.wso2.carbon.registry.core.session.UserRegistry.get(UserRegistry.java:524)
…通常,此错误的原因是,您正在使用同一数据库作为本地注册表空间和管理空间。 如果您使用与本地和治理注册表空间相同的jdbc/WSO2REG_DB数据库。从定义上讲,这是错误的。在群集中的任何节点之间共享本地注册表空间是不正确的。理想情况下,可以使用默认的H2数据库作为本地注册表数据库(jdbc/WSO2CarbonDB)。基本上,您需要通过指向H2 db在registry.xml文件中保持以下配置。刚刚发现了一些相同的错误,可能会有帮助
wso2registry
jdbc/WSO2CarbonDB
我没有使用本地注册表数据库进行共享,请查看我添加的datasource.xm和registry.xml的内容。如果我将所有jdbc连接url替换为“jdbc:mysql://wso2db:3306还有driverClassName和“com.mysql.jdbc.Driver”。Asela,你对这个问题有什么想法吗?
TID: [0] [AM] [2015-03-09 13:30:51,728] ERROR {org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent} - Unable to create fixed remote mounts. {org.wso2.carbon.registry.core.internal.RegistryCoreServiceComponent}