我试图了解Teiid中使用的连接池,我已经使用SQLSERVER创建了XA数据源,并正在使用该数据源插入数据。但是,我观察到,如果我使用该数据源运行两个或多个批处理作业,它将自动创建比提到的MAX-POOL-SIZE更多的连接。这是我的数据源配置:
<xa-datasource jndi-name="java:/DSSQLSERVER20200529192729561" pool-name="DSSQLSERVER20200529192729561">
<xa-datasource-property name="DatabaseName">
testsonali
</xa-datasource-property>
<xa-datasource-property name="PortNumber">
1433
</xa-datasource-property>
<xa-datasource-property name="ServerName">
10.20.26.67
</xa-datasource-property>
<xa-datasource-property name="URL">
jdbc:sqlserver://10.20.26.67:1433;databaseName=testsonali
</xa-datasource-property>
<driver>sqlserver</driver>
<xa-pool>
<min-pool-size>2</min-pool-size>
<max-pool-size>4</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</xa-pool>
<security>
<user-name>tdm_user</user-name>
<password>Bitwise2020</password>
</security>
<validation>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<validate-on-match>true</validate-on-match>
<background-validation>false</background-validation>
</validation>
</xa-datasource>
我想问一下它是如何自动创建更多连接的,如果要在该数据源上同时运行更多插入作业,该如何处理连接池。
提前感谢!
WildFly上的Teiid使用WildFly服务器的JCA框架中的连接池。您可以尝试将<no-tx-separate-pools/>
放在<xa-pool>
部分中以查看是否有帮助吗?