第 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 :在泄漏警告前必须保持连接的时间(以毫秒为单位)。