默认情况下jdbc连接GBase 8s数据库时,如果数据库服务异常,比如服务未启动。
在创建连接时因jdbc没有超时时间,完全靠socket底层默认的超时机制,这会导致在等待很久的一个时间后返回connetion timeout错误,特别是通过jdbc连接GBase 8s集群时因为涉及节点切换尝试,会导致更长时间后报错,或者更长时间后终于切换到好的节点才创建连接成功,这是用户不能忍受的。
Jdbc其实本身提供了连接超时参数,用于合理控制创建连接时间。
下面具体说明下
开启方式
Connection conn = DriverManager.getConnection( “jdbc:gbasedbt-sqli://localhost:9088
/csdk_db:GBASEDBTSERVER=ol_ids_1150_1;user=gbasedbt;password=inform123;
LOGINTIMEOUT=60000”);
如上只需在url上添加参数LOGINTIMEOUT=xxx即可,xxx为毫秒值。