我在wildfly teiid服务器中有一个带有xml 的资源适配器
<resource-adapter id="salesforcefour" statistics-enabled="true">
<module slot="main" id="org.jboss.teiid.resource-adapter.salesforce-41"/>
<connection-definitions>
<connection-definition class-name="org.teiid.resource.adapter.salesforce.SalesForceManagedConnectionFactory" jndi-name="java:/sfDS41" enabled="true" connectable="true" use-java-context="true" pool-name="sfDS41">
<config-property name="connectTimeout">30000</config-property>
<config-property name="password"></config-property>
<config-property name="URL">https://test.salesforce.com/services/Soap/u/45.0</config-property>
<config-property name="requestTimeout">120000</config-property>
<config-property name="username"></config-property>
<pool>
<min-pool-size>5</min-pool-size>
<initial-pool-size>5</initial-pool-size>
<prefill>true</prefill>
<use-strict-min>true</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
</connection-definition>
</connection-definitions>
</resource-adapter>
为了检查连接池是否真的有活动连接,我需要获取统计信息。
我决定执行jboss-cli.sh并赞扬
/subsystem=resource-adapters/resource-adapter=salesforcefour:write-attribute(name=statistics-enabled,value=true)
/subsystem=resource-adapters/statistics=statistics/connection-definitions=java:/sfDS41:read-resource(include-runtime=true)
但是得到错误
Failed to get the list of the operation properties: "WFLYCTL0030: No resource definition is registered for address [
("subsystem" => "resource-adapters"),
("statistics" => "statistics"),
("connection-definitions" => "java:/sfDS41")
]"
如何检查连接池统计信息或只获取当前活动连接数?
答案来自https://github.com/teiid/teiid/pull/1335
对于非jdbc资源适配器,它是在池中为给定的连接定义指定的:
/子系统=资源适配器/资源适配器=salesforcefour/连接定义=sfDS/统计信息=池:写入属性(名称=已启用统计信息,值=true(
您只需要替换您使用的连接定义的名称——这是逻辑名称,可能不是jndi名称。您可以在子系统=资源适配器/资源适配器=salesforcefor/连接定义=上自动完成,以查看您的连接定义名称。然后,您应该能够根据该连接定义名称读取池统计信息。