在JBoss上部署时出现C3P0ConnectionProvider错误 [英] C3P0ConnectionProvider error when deploying on JBoss

查看:116
本文介绍了在JBoss上部署时出现C3P0ConnectionProvider错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



部署我的项目时出现以下异常。

  13:04:41,035错误[org.jboss.msc.service.fail](MSC服务线程1-1)MSC00001:无法启动服务jboss.persistenceunit。dryrun.war#dbname:服务jboss.persistenceunit中的org.jboss.msc.service.StartException。dryrun.war#dbname:无法在org.jboss.msc处启动服务
。 $ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor。 java:1145)[rt.jar:1.7.0_15]
在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)[rt.jar:1.7.0_15]
at java.lang.Thread.run(Thread.java:722)[rt.jar:1.7.0_15]

导致:javax.persistence.PersistenceException:[PersistenceUnit:dbname]无法构建EntityManagerFactory
在org.hibernate .ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence .java:73)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:162)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.start(PersistenceUnitServiceImpl .java:85)
在org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1811)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1746)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
... 3 more

由org.hibernate.service.spi.ServiceException引起:无法在org处创建请求的服务[org.hibernate.service.jdbc.connections.spi.ConnectionProvider]
。过冬.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:187)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150)
at org.hibernate.service.internal .AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
位于org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:234)
位于org.hibernate.engine.jdbc.internal .JdbcServicesImpl.configure(JdbcServicesImpl.java:91)
位于org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService (AbstractServiceRegistryImpl.java:159)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71 )在org.h处
在org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2266)
在org.hibernate.cfg.Configuration.buildSessionFactory
(Configuration.java:2270)
(org.hibernate.cfg.Configuration.buildSessionFactory
at org.hibernate.ejb.EntityManagerFactoryImpl。< init>(EntityManagerFactoryImpl.java:84)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904 )
... 9 more

引起:org.hibernate.HibernateException:无法实例化连接提供者[org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider]
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:190)
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:112 )
在org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiat or.initiateService(ConnectionProviderInitiator.java:54)
at org.hibernate.service.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:69)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService( AbstractServiceRegistryImpl.java:177)
... 22 more

引起:org.hibernate.service.classloading.spi.ClassLoadingException:无法加载类[org.hibernate.service.jdbc .connections.internal.C3P0ConnectionProvider]
at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:141)
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator .instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:187)
... 26 more

导致:java.lang.ClassNotFoundException:无法加载请求的类:org.hibernate.service.jdbc.connections .internal.C3P0ConnectionProvider
在org.hibernate.service.classloading.internal。 ClassLoaderServiceImpl $ 1.findClass(ClassLoaderServiceImpl.java:99)$ b $在java.lang.ClassLoader.loadClass(ClassLoader.java:423)[rt.jar:1.7.0_15]
在java.lang.ClassLoader。 loadClass(ClassLoader.java:356)[rt.jar:1.7.0_15]
at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:138)
... 27更多

我的persistence.xml文件是:

 <?xml version =1.0encoding =UTF-8?> 

 < persistence-unit name =dbnametransaction-type =RESOURCE_LOCAL> 
<属性>
< property name =hibernate.show_sqlvalue =false/>
< property name =hibernate.format_sqlvalue =false/>
< property name =hibernate.connection.driver_classvalue =com.mysql.jdbc.Driver/>
< property name =hibernate.connection.urlvalue =jdbc:mysql:// localhost:3306 / dbname/>
< property name =hibernate.connection.usernamevalue =root/>
< property name =hibernate.connection.passwordvalue =/>
< property name =hibernate.dialectvalue =org.hibernate.dialect.MySQLDialect/>
< property name =hibernate.connection.provider_classvalue =org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider/>
< property name =hibernate.c3p0.minPoolSizevalue =0/>
< property name =hibernate.c3p0.maxPoolSizevalue =25/>
< property name =hibernate.c3p0.maxConnectionAgevalue =14400/>
< property name =hibernate.c3p0.maxIdleTimevalue =100/>
< / properties>
< / persistence-unit>



我的pom.xml文件是:

 < project xmlns =http://maven.apache.org/POM/4.0.0xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation =http://maven.apache.org/POM/4.0.0 http://maven.apache。组织/ XSD /行家-4.0.0.xsd>
< modelVersion> 4.0.0< / modelVersion>
< groupId>项目名称< / groupId>
< artifactId>项目名称< / artifactId>
< version> 0.0.1-SNAPSHOT< / version>
<包装>战争< / packaging>
<属性>
< version.jboss.bom> 1.0.4.Final< /version.jboss.bom>
< / properties>
< build><! - Maven将版本附加到finalName(这是赋予生成的war的
名称,因此也是上下文根) - >
< finalName> $ {project.artifactId}< / finalName>
< plugins><! - 编译器插件强制执行Java 1.6兼容性并激活
注释处理器 - >
< plugin>
< artifactId> maven-compiler-plugin< / artifactId>
< version> 2.3.2< / version>
<配置>
< source> 1.7< / source>
< target> 1.7< / target>
< / configuration>
< / plugin>
< plugin>
< artifactId> maven-war-plugin< / artifactId>
< version> 2.2< / version>
<配置><! - Java EE 6不需要web.xml,Maven需要
赶上! - >
< failOnMissingWebXml> false< / failOnMissingWebXml>
< / configuration>
< / plugin><! - JBoss AS插件将您的战争部署到本地JBoss AS
容器 - ><! - 要使用,请运行:mvn package jboss-as :部署 - >
< plugin>
< groupId> org.jboss.as.plugins< / groupId>
< artifactId> jboss-as-maven-plugin< / artifactId>
< version> 7.1.1.Final< / version>
< / plugin>
< / plugins>
< / build>
<依赖关系>
< dependency>
< groupId> junit< / groupId>
< artifactId> junit< / artifactId>
< version> 4.11< / version>
< /依赖关系>
< dependency>
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-core< / artifactId>
< version> 3.6.3.Final< / version>
< /依赖关系>
< dependency>
< groupId> mysql< / groupId>
< artifactId> mysql-connector-java< / artifactId>
< version> 5.1.15< / version>
< /依赖关系>
< dependency>
< groupId> org.jboss.as< / groupId>
< artifactId> jboss-as-jpa-hibernate3< / artifactId>
< version> 7.1.3.Final< / version>
< /依赖关系>
< dependency>
< groupId> jexcelapi< / groupId>
< artifactId> jxl< / artifactId>
< version> 2.6< / version>
< /依赖关系>
< dependency>
< groupId> javax.ws.rs< / groupId>
< artifactId> javax.ws.rs-api< / artifactId>
< version> 2.0-rc1< / version>
< /依赖关系>
< dependency>
< groupId> javax.enterprise< / groupId>
< artifactId> cdi-api< / artifactId>
< version> 1.1-20130222< / version>
< /依赖关系>
< dependency>
< groupId> org.slf4j< / groupId>
< artifactId> slf4j-simple< / artifactId>
< version> 1.6.0< / version>
< /依赖关系>
< dependency>
< groupId> com.mchange< / groupId>
< artifactId> c3p0< / artifactId>
< version> 0.9.2-pre8< / version>
< /依赖关系>
< /依赖关系>



我试了一个数字来自Hibernate的其他c3p0相关依赖关系以及我可以找到的其他依赖关系,但似乎没有任何项目能够正常工作。有人能请我指出正确的方向吗?谢谢。

解决方案

您缺少的特定依赖项是

 <依赖性> 
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-c3p0< / artifactId>
< version> 3.6.3.Final< / version>
< /依赖关系>

您缺少的类在hibernate-core中,但它可能在这里移动版本3.3



http:// mvnrepository.com/artifact/org.hibernate/hibernate-c3p0



http://gazelle.ihe.net/content/how-use-c3p0-jdbc-connection-pool-your-maven -project


I'm attempting to connect to a MySQL database via JPA on a JBoss server.

I get the following exception when deploying my project.

13:04:41,035 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.persistenceunit."dryrun.war#dbname": org.jboss.msc.service.StartException in service jboss.persistenceunit."dryrun.war#dbname": Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_15]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_15]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_15]

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: dbname] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:162)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.start(PersistenceUnitServiceImpl.java:85)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
... 3 more

Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.service.jdbc.connections.spi.ConnectionProvider]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:187)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:234)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:91)
at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2270)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2266)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1735)
at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)
... 9 more

Caused by: org.hibernate.HibernateException: Could not instantiate connection provider [org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider]
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:190)
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:112)
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:54)
at org.hibernate.service.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:69)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:177)
... 22 more

Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Unable to load class [org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider]
at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:141)
at org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:187)
... 26 more

Caused by: java.lang.ClassNotFoundException: Could not load requested class : org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider
at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl$1.findClass(ClassLoaderServiceImpl.java:99)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423) [rt.jar:1.7.0_15]
at java.lang.ClassLoader.loadClass(ClassLoader.java:356) [rt.jar:1.7.0_15]
at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:138)
... 27 more

My persistence.xml file is :

<?xml version="1.0" encoding="UTF-8"?>

<persistence-unit name="dbname" transaction-type="RESOURCE_LOCAL">
    <properties>
        <property name="hibernate.show_sql" value="false" />
        <property name="hibernate.format_sql" value="false" />
        <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
        <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/dbname" />
        <property name="hibernate.connection.username" value="root" />
        <property name="hibernate.connection.password" value="" />
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
        <property name="hibernate.connection.provider_class" value="org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider" />
        <property name="hibernate.c3p0.minPoolSize" value="0" />
        <property name="hibernate.c3p0.maxPoolSize" value="25" />
        <property name="hibernate.c3p0.maxConnectionAge" value="14400" />
        <property name="hibernate.c3p0.maxIdleTime" value="100" />
    </properties>
</persistence-unit>

My pom.xml file is:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>projectname</groupId>
<artifactId>projectname</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
    <version.jboss.bom>1.0.4.Final</version.jboss.bom>
</properties>
<build><!-- Maven will append the version to the finalName (which is the 
        name given to the generated war, and hence the context root) -->
    <finalName>${project.artifactId}</finalName>
    <plugins><!-- Compiler plugin enforces Java 1.6 compatibility and activates 
            annotation processors -->
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
            <configuration><!-- Java EE 6 doesn't require web.xml, Maven needs to 
                    catch up! -->
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin><!-- The JBoss AS plugin deploys your war to a local JBoss AS 
            container --><!-- To use, run: mvn package jboss-as:deploy -->
        <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <version>7.1.1.Final</version>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>3.6.3.Final</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.15</version>
    </dependency>
    <dependency>
        <groupId>org.jboss.as</groupId>
        <artifactId>jboss-as-jpa-hibernate3</artifactId>
        <version>7.1.3.Final</version>
    </dependency>
    <dependency>
        <groupId>jexcelapi</groupId>
        <artifactId>jxl</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>2.0-rc1</version>
    </dependency>
    <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <version>1.1-20130222</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.6.0</version>
    </dependency>
    <dependency>
        <groupId>com.mchange</groupId>
        <artifactId>c3p0</artifactId>
        <version>0.9.2-pre8</version>
    </dependency>
</dependencies>

I've tried a number of different c3p0 related dependencies from Hibernate and other ones I could find, but nothing seems to get the project working. Could someone please point me in the right direction. Thank you.

解决方案

The particular dependency that you were missing is

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>3.6.3.Final</version>
</dependency>

The class that you were missing used to be in hibernate-core, but it was moved here probably around version 3.3

http://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0

http://gazelle.ihe.net/content/how-use-c3p0-jdbc-connection-pool-your-maven-project

这篇关于在JBoss上部署时出现C3P0ConnectionProvider错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆