Hibernate c3p0 初始化错误

3

我的项目部署几次后,出现了这个日志,然后就停在那里了。之后我必须重新运行我的项目。如何解决这个问题并避免在未来出现?

Info:   Initializing c3p0-0.9.2-pre2 [built 18-May-2012 10:14:10 -0400; debug? true; trace: 10]

Warning:   A C3P0Registry mbean is already registered. This probably means that an application using c3p0 was undeployed, but not all PooledDataSources were closed prior to undeployment. This may lead to resource leaks over time. Please take care to close all PooledDataSources.

Info:   Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@f63e045c [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@7aab8919 [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge13c9f3qzb1d180wvxe|f1928e0, idleConnectionTestPeriod -> 0, initialPoolSize -> 1, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 100, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@3a5a11 [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> 1hge13c9f3qzb1d180wvxe|1311a587, jdbcUrl -> jdbc:mysql://192.168.1.13:3306/medi_soft?autoReconnect=true, properties -> {user=******, password=******} ], preferredTestQuery -> null, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, factoryClassLocation -> null, identityToken -> 1hge13c9f3qzb1d180wvxe|79fef582, numHelperThreads -> 3 ]



    <!-- c3p0 Connection Pool Properties -->
    <property name="hibernate.connection.pool_size">1</property>
    <property name="hibernate.c3p0.min_size">1</property>
    <property name="hibernate.c3p0.max_size">100</property> 
    <property name="hibernate.c3p0.timeout">0</property>
    <property name="hibernate.c3p0.max_statements">0</property>
    <property name="hibernate.c3p0.idle_test_period">0</property>

1
请分享一些项目配置,例如如何初始化c3p0数据源以及是否使用像Spring这样的框架来进行配置。 - Luiggi Mendoza
这个有帮助吗?链接 - Arun Xavier
@LuiggiMendoza 这符合您的要求吗?没有Spring,只有Hibernate。 - Sanal S
1
@ᴊᴀᴠʏ 我没有运行多个应用程序,而你所说的“公共类加载器”,是指我必须将jar文件添加到“Program Files\glassfish-4.0\glassfish\lib\”中吗? - Sanal S
1个回答

0

从信息日志中看,似乎您正在使用JMX服务器/JMX MBeanServer。使用JDK捆绑的JMX工具,例如Jconsole,来编辑数据源的配置属性。您会发现c3p0在域com.mchange.v2.c3p0下注册MBeans,并为每个部署的PooledDataSource注册一个MBean。

如果您没有显式设置RegistryName,则完整的JMX ObjectName将是

com.mchange.v2.c3p0:type=C3P0Registry.

上述值是默认值,Hibernate/应用程序正在尝试使用相同的注册表bean(默认值)初始化c3p0。

请在您的config/properties文件中设置注册表。例如:

com.mchange.v2.c3p0:type=C3P0Registry,name=C3P0Registrynew

如果上述解决方案无效,请禁用JMX支持。禁用JMX支持的系统属性为:
com.mchange.v2.c3p0.management.ManagementCoordinator=com.mchange.v2.c3p0.management.NullManagementCoordinator

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接