如何知道在JBOSS应用服务器中创建的连接池数量

时间:2015-05-19 11:21:28

标签: java jboss

我正在使用jboss 7.0进行Web应用程序。在standalone.xml文件中,我已将数据源定义为

<datasource jndi-name="java:jboss/datasources/finacpacds" pool-name="ltmscompanyadmindspool" enabled="true" jta="true" use-java-context="true" use-ccm="true">
                    <connection-url>
                        jdbc:mysql://localhost:3306/finacpac?zeroDateTimeBehavior=convertToNull&amp;useUnicode=true&amp;characterEncoding=utf-8
                    </connection-url>
                    <driver>
                        mysqldriver
                    </driver>
                    <transaction-isolation>
                        TRANSACTION_READ_COMMITTED
                    </transaction-isolation>
                    <pool>
                        <min-pool-size>
                            10
                        </min-pool-size>
                        <max-pool-size>
                            50
                        </max-pool-size>
                        <prefill>
                            true
                        </prefill>
                        <use-strict-min>
                            false
                        </use-strict-min>
                        <flush-strategy>
                            FailingConnectionOnly
                        </flush-strategy>
                    </pool>
                    <security>
                        <user-name>
                            root
                        </user-name>
                        <password>

                        </password>
                    </security>
                    <validation>
                        <validate-on-match>
                            false
                        </validate-on-match>
                        <background-validation>
                            false
                        </background-validation>
                        <useFastFail>
                            false
                        </useFastFail>
                    </validation>
                    <statement>
                        <prepared-statement-cache-size>
                            100
                        </prepared-statement-cache-size>
                        <share-prepared-statements/>
                    </statement>
                </datasource>

现在我的问题是,我可以通过system.out.print语句看到jboss运行时创建的连接池数量。有没有办法做到这一点。

1 个答案:

答案 0 :(得分:0)

您无法将该信息打印到System.out。您可以通过CLI读取数据源统计信息:

/subsystem=datasources/data-source=ltmscompanyadmindspool/statistics=pool:read-resource(include-runtime=true)
/subsystem=datasources/data-source=ltmscompanyadmindspool/statistics=jdbc:read-resource(include-runtime=true)

您可以阅读有关统计信息here的更多信息。

另外,您的数据源配置有点令人担忧。为什么要禁用验证?如果你这样做,那么当数据库服务器中断或重新启动时,JBoss无法在不重新启动JBoss服务器的情况下验证/刷新连接。