属性
JDBC 应用程序可连接至 Connection Manager,就像应用程序可能连接至数据库服务器一
样。然后,将应用程序连接请求重新指向高可用性集群中最恰当的服务器。
可配置多个 Connection Manager,
然后在 Java™ 应用程序服务器使用的 sqlhost 文件中创建
一 Connection Manager 组条目。如果一个 Connection Manager 故障,则可将连接请求指
向正在工作的 Connection Manager。SQLH_FILE 连接属性指导 JDBC 驱动程序搜索组条
目。
要连接至一 GBase 8s Connection Manager,
然后再通过其连接至高可用性集群的服务器,
您
必须在连接 URL 或 DataSource 中包括下列属性:
GBASEDBTSERVER=CM_or_group_name
SQLH_TYPE=FILE
SQLH_FILE=sqlhosts
USER=user_name
PASSWORD=password
如果 Connection Manager 正在运行,但有一个挂起的连接,则在连接 URL 中包括下列属
性,可防止 Java 应用程序无限地等待。
GBASEDBTCONRETRY=value
GBASEDBTCONTIME=value
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 44 -
LOGINTIMEOUT=value
基于网络环境来设置这些值。
示例 1:通过 GBase 8s Connection Manager 来连接至高可用性集群
在此示例中,您有下列系统设置:
•
由四个服务器组成的高可用性集群(my_cluster)。
•
所有集群服务器上的用户名都是 my_user。
•
所有集群服务器上的口令都是 my_password。
•
cmhost1.example.com 上的 connection_manager 使用下列配置文件:
NAME connection_manager
CLUSTER my_cluster
{
GBASEDBTSERVER my_servers
SLA sla_primary DBSERVERS=PRI
SLA sla_secondaries DBSERVERS=SDS,HDR,RSS
}
•
在 host1.example.com 上有一 Java 应用程序服务器,
该 Java 应用程序服务器使用
下列 sqlhost 文件条目:
#dbservername nettype hostname servicename options
sla_primary onsoctcp cmhost1.example.com cm_port_1
sla_secondaries onsoctcp cmhost1.example.com cm_port_1
•
如果客户机的初始连接尝试失败,则想要它再试两次。
•
想要 CONNECT 语句等待 10 秒,来建立连接。
•
如果侦听服务器端口,且在 10 毫秒之内未连接,则想要连接失败。
要 Java 应用程序客户机连接至 my_cluster 的主服务器,请使用下列 URL:
jdbc:gbasedbt-sqli://GBASEDBTSERVER=sla_primary;
SQLH_TYPE=FILE;SQLH_FILE=sqlhosts;
USER=my_user_name;PASSWORD=my_password;
GBASEDBTCONRETRY=2;GBASEDBTCONTIME=10;LOGINTIMEOUT=10
要 Java 应用程序客户机连接至 my_cluster 的辅助服务器,请使用下列 URL:
jdbc:gbasedbt-sqli://GBASEDBTSERVER=sla_secondaries;
SQLH_TYPE=FILE;SQLH_FILE=sqlhosts;
USER=my_user_name;PASSWORD=my_password;
GBASEDBTCONRETRY=2;GBASEDBTCONTIME=10;LOGINTIMEOUT=10
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 45 -
示例 2:通过多个 GBase 8s Connection Manager 连接至高可用性集群
在此示例中,您有下列系统设置:
•
由四个服务器组成的高可用性集群(my_cluster)。
•
所有集群服务器上的用户名都是 my_user。
•
所有集群服务器上的口令都是 my_password。
•
cmhost1.example.com 上的 connection_manager_1 使用下列配置文件,
用于客户机重
新指向和故障转移:
NAME connection_manager_1
CLUSTER my_cluster
{
GBASEDBTSERVER my_servers
SLA sla_primary_1 DBSERVERS=PRI
FOC ORDER=ENABLED \
PRIORITY=1
CMALARMPROGRAM $GBS_HOME/etc/CMALARMPROGRAM.sh
}
•
cmhost2.example.com 上的 connection_manager_2 使用下列配置文件,
用于客户机重
新指向和故障转移:
NAME connection_manager_2
CLUSTER my_cluster
{
GBASEDBTSERVER my_servers
SLA sla_primary_1 DBSERVERS=PRI
FOC ORDER=ENABLED \
PRIORITY=2
CMALARMPROGRAM $GBS_HOME/etc/CMALARMPROGRAM.sh
}
•
在 host1.example.com 上有一 Java 应用程序服务器,且 Java 应用程序服务器使用
下列 sqlhost 文件条目:
#dbservername nettype hostname servicename options
g_primary group - - c=1,e=sla_primary_2
sla_primary_1 onsoctcp cmhost1.example.com cm_port_1 g=g_primary
sla_primary_2 onsoctcp cmhost2.example.com cm_port_2 g=g_primary
•
如果客户机的初始连接尝试失败,则想要它重试两次。
•
想要 CONNECT 语句等待 10 秒,来建立连接。
GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 46 -
•
如果侦听服务器端口,且在 10 毫秒之内未连接,则想要连接失败。
要通过 connection_manager_1 或 connection_manager_2,Java 应用程序客户机连接
至 my_cluster 的主服务器,请使用下列 URL:
jdbc:gbasedbt-sqli://GBASEDBTSERVER=g_primary;
SQLH_TYPE=FILE;SQLH_FILE=sqlhosts;
USER=my_user_name;PASSWORD=my_password;
GBASEDBTCONRETRY=2;GBASEDBTCONTIME=10;LOGINTIMEOUT=10