问题描述
我在带xml的wildfly-teiid-server中有资源适配器
<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资源适配器,它在池中为给定的连接定义指定:
/ subsystem = resource-adapters / resource-adapter = salesforcefour / connection-definitions = sfDS / statistics = pool:write-attribute(name = statistics-enabled,value = true)
您只需要替换所使用的连接定义的名称-这就是逻辑名称,可能不是jndi名称。您可以在子系统= resource-adapters / resource-adapter = salesforcefour / connection-definitions =上自动完成,以查看您的连接定义名称。然后,您应该能够根据该连接定义名称读取池统计信息。