DataSource相关支持及配置使用说明
GaussDB 100 JDBC当前实现了四种DataSource,分别为:
- com.huawei.gauss.datasource.GSSimpleDataSource
- com.huawei.gauss.datasource.GSConnectionPoolDataSource
- com.huawei.gauss.datasource.GSPoolingDataSource
- com.huawei.gauss.xa.GSXADataSource
这四种DataSource公共的父类为:com.huawei.gauss.datasource.GSDataSourceBase。
此类是GaussDB 100四个DataSource的基类,包含的接口如下表所示。
返回值 |
方法 |
是否线程安全 |
---|---|---|
Connection |
getConnection() |
是 |
Connection |
getConnection(String, String) |
是 |
String |
getServerName() |
是 |
Void |
setServerName(String) |
否 |
String |
getDatabaseName() |
是 |
void |
setDatabaseName(String) |
否 |
String |
getDescription() |
是 |
String |
getUser() |
是 |
void |
setUser(String) |
否 |
String |
getPassword() |
是 |
void |
setPassword(String); |
否 |
int |
getPortNumber() |
是 |
void |
setPortNumber(int) |
否 |
String |
getUrl() |
是 |
Reference |
getReference() |
是 |
void |
initializeFrom(BaseDataSource) |
否 |
int |
getLoginTimeout() |
是 |
void |
setLoginTimeout(int) |
是 |
PrintWriter |
getLogWriter() |
是 |
void |
setLogWriter(PrintWriter) |
是 |
Logger |
getParentLogger() |
是 |
com.huawei.gauss.datasource.GSSimpleDataSource
此类是一个提供非池化连接的简单DataSource。如果要使用这个DataSource,必须配置databaseName,其他参数(serverName,portNumber,user,and password)可选。这些参数接口见父类说明。其中该类独有或重写的接口如下表所示。
返回值 |
方法 |
是否线程安全 |
---|---|---|
String |
getDescription() |
是 |
boolean |
isWrapperFor(Class<?>) |
是 |
T |
unWrap(Class<T>) |
是 |
com.huawei.gauss.datasource.GSConnectionPoolDataSource
此类是实现了javax.sql.ConnectionPoolDataSource接口的DataSource,应用或者中间件需要配置DataSource时,可以设置为这个类。此类可以在配置连接池的时候使用。如果要使用这个DataSource,必须配置databaseName,其他参数(serverName, portNumber, user,and password)可选。这些参数接口见父类说明。其中该类独有或重写的接口如下表所示。
返回值 |
方法 |
是否线程安全 |
---|---|---|
String |
getDescription() |
是 |
PooledConnection |
getPooledConnection() |
是 |
PooledConnection |
getPooledConnection(String, String) |
是 |
boolean |
isDefaultAutoCommit() |
是 |
void |
setDefaultAutoCommit(boolean) |
否 |
com.huawei.gauss.datasource.GSPoolingDataSource
此类是一个提供池化连接的DataSource,它包含一个连接池的实现。如果应用或中间件使用了连接池,请勿使用此类。如果要使用这个DataSource,必须配置dataSourceName,databaseName,user,and password,其他参数(serverName, portNumber, initialConnections, and maxConnections)可选。这些参数接口见父类说明。其中该类独有或重写的接口如下表所示。
返回值 |
方法 |
是否线程安全 |
---|---|---|
GSPoolingDataSource |
getDataSource(String) |
是 |
String |
getDescription() |
是 |
void |
setServerName(String) |
是 |
void |
setDatabaseName(String) |
是 |
void |
setUser(String) |
是 |
void |
setPassword(String) |
是 |
void |
setPortNumber(int) |
是 |
int |
getInitialConnections() |
是 |
void |
setInitialConnections(int) |
是 |
int |
getMaxConnections() |
是 |
void |
setMaxConnections(int) |
是 |
String |
getDataSourceName() |
是 |
void |
setDataSourceName(String) |
是 |
void |
initialize() |
是 |
Conneciton |
getConnection(String, String) |
是 |
Connection |
getConnection() |
是 |
void |
close() |
是 |
Reference |
getReference() |
是 |
Boolean |
isWrapperFor(Class<?>) |
是 |
T |
unwrap(Class<T>) |
是 |