第 12 章 配置 Data Grid Server Datasources
创建受管数据源,以优化数据库连接的连接池和性能。
您可以将数据库连接属性指定为 JDBC 缓存存储配置的一部分。但是,您必须为每个缓存定义执行此操作,通过创建多个不同的连接池来重复配置并浪费资源。
通过使用共享、管理的数据源,您可以集中连接配置和池,以便更有效地使用。
12.1. JDBC 缓存存储的数据源配置
数据源的数据网格服务器配置由两个部分组成:
-
定义如何连接到数据库的
连接工厂
。 -
定义如何池和重复利用连接的连接池。
<data-sources> <!-- Defines a unique name for the datasource, JNDI name, and enables statistics. --> <data-source name="ds" jndi-name="jdbc/datasource" statistics="true"> <!-- Specifies the JDBC driver that creates connections. --> <connection-factory driver="org.database.Driver" username="db_user" password="secret" url="jdbc:db://database-host:10000/dbname" new-connection-sql="SELECT 1" transaction-isolation="READ_COMMITTED"> <!-- Sets optional JDBC driver-specific connection properties. --> <connection-property name="name">value</connection-property> </connection-factory> <!-- Defines connection pool properties. --> <connection-pool initial-size="1" max-size="10" min-size="3" background-validation="1000" idle-removal="1" blocking-timeout="1000" leak-detection="10000"/> </data-source> </data-sources>
使用以下参数可以调整连接池:
-
initial-size
: 池应拥有的初始连接数。 -
max-size
:池中连接的最大数量。 -
min-size
:池应保留的最小连接数。 -
blocking-timeout
: 在抛出异常前等待连接时,以毫秒为单位阻止的最长时间。如果创建新连接需要很长时间,则不会抛出异常。默认为 0 表示调用将无限期等待。 -
background-validation
:后台验证运行之间的时间(毫秒)。持续时间为 0 表示此功能被禁用。 -
validate-on-acquisition
:在获取前,按毫秒指定的连接闲置的时间(以毫秒为单位)会被验证(用于验证)。持续时间为 0 表示此功能被禁用。 -
idle-removal
: 在删除连接前必须闲置时间。 -
leak-detection
:在泄漏警告前必须保持连接的时间(以毫秒为单位)。