当前位置: 首页 > 知识库问答 >
问题:

如何配置JavaMelody来监控C3p0数据源中的Jdbc连接

羊柏
2023-03-14

我正在使用Spring配置文件来配置C3P0。为了监视数据源,我配置了net.bull.javaMelody.SpringDataSourceFactoryBean(如JavaMelody的用户指南所述)。但是我的报告显示了0个活动的jdbc连接,而我的minPoolSize是10。我错过了什么?

<context-param>
    <param-name>
        contextConfigLocation
    </param-name>
    <param-value>
        classpath:net/bull/javamelody/monitoring-spring.xml,
    </param-value>
</context-param>
<bean id="sql2oDatasource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="#{dbProps['ops.jdbc.driverClassName']}"/>
    <property name="jdbcUrl" value="#{dbProps['ops.jdbc.url']}"/>
    <property name="user" value="#{dbProps['ops.jdbc.username']}"/>
    <property name="password" value="#{dbProps['ops.jdbc.password']}"/>
    <property name="maxPoolSize" value="#{dbProps['ops.c3p0.max_size']}"/>
    <property name="minPoolSize" value="#{dbProps['ops.c3p0.min_size']}"/>
    <property name="maxStatements" value="#{dbProps['ops.c3p0.max_statements']}"/>
    <property name="checkoutTimeout" value="#{dbProps['ops.c3p0.timeout']}"/>
    <property name="preferredTestQuery" value="SELECT 1"/>
</bean>
<!-- Configuring the session factory for SQL-2-O -->
<bean id="sql2oSession" class="org.sql2o.Sql2o">
    <constructor-arg ref="wrappedDBDataSource"/>
    <constructor-arg value="PostgreSQL" type="org.sql2o.QuirksMode"/>
</bean>
<bean id="wrappedDBDataSource" class="net.bull.javamelody.SpringDataSourceFactoryBean" primary="true">
    <property name="targetName" value="sql2oDatasource"/>
</bean>

我尝试将driverclass作为net.bull.javameLody.jdbcdriver在datasource中传递,并将driver作为:

<property name="properties">
    <props>
        <prop key="driver">org.postgresql.Driver</prop>
    </props>
</property>

但是PostgreSQL驱动程序不是以这种方式注册的。

共有1个答案

贾兴学
2023-03-14

根据文档,您的配置看起来还可以。您可以在报表上看到数据库活动连接、池大小值,这也意味着您的配置是正常的。

另一方面,活动db连接计数是指在该时刻,有多少个db连接池中的连接与db一起操作。0个活动连接对您有好处(如果您的应用程序正常工作)。这意味着您的数据库操作可以快速完成。在数据库操作速度快的情况下,很难捕获活动连接。

 类似资料:
  • 问题内容: 我在JBoss战争中使用的是Hibernate,使用c3p0进行连接池,两者均在类路径的hibernate.cfg.xml配置文件中配置 我看过server.log生成包含有关连接池的有趣信息的行: 调试[com.mchange.v2.resourcepool.BasicResourcePool]跟踪com.mchange.v2.resourcepool.BasicResourcePo

  • 我将连接的Docker mysql实例与Docker容器一起使用,其中包含一个配置了Pax JDBC数据源的Karaf 4实例。 我的问题是我的jdbc url依赖于docker设置的一些环境变量(因为mysql容器IP并不总是相同的)。IP地址变量是。 我试图用并使用配置文件(etc/org.ops4j.datasource.mydb.cfg)设置我的数据源,该文件将包含: 但看看服务:列表在k

  • 在建造中。我有:

  • 在开发中,我使用下面的配置连接到MySQL数据库。我喜欢使用Tomcat数据源进行MySql连接。在Micronaut文档页面中没有找到示例。

  • 我遇到了一个问题: 有一个数据库,可以通过sqlDeveloper工具连接 但是我想使用c3p0将数据库与jdbcurl连接: JDBC:Oracle:thin:@ 2 . 2 . 6 . 11:2709:HL . webtest . com 获取这些错误:WARN-com . m change . v2 . resource pool . basicresourcepool$acquire ta

  • 我以前从未与spring security达成过协议,但我需要使用它。我不能配置它。 我的applicationContext-security.xml: 我的web.xml: 但是我有:org.xml.sax.saxParseException;亚麻编号:61;专栏编号:227;CVC-complex-type.3.2.2:属性'data-source-ref'不允许出现在元素'security