如何从Teiid资源适配器获取连接池统计信息?

问题描述

我在带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 =上自动完成,以查看您的连接定义名称。然后,您应该能够根据该连接定义名称读取池统计信息。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...