有两个项目A和B,在同一台服务器下,只单独部署A或者B时,运行都正常,若两个都部署,则先访问的运行正常,后访问的出现如下错误:
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: JPA] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
at kop.api.jpa.EntityManagerUtil.(EntityManagerUtil.java:23)
 ...12 more
Caused by: org.hibernate.HibernateException: Could not instantiate connection provider: org.hibernate.connection.ProxoolConnectionProvider
at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:77)
at org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:29)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
 ...16 more
请问是啥原因?????

解决方案 »

  1.   

    很明显问题在构建:EntityManagerFactory的时候出现,你代码太少了,关注下你配置EntityManagerFactory 的代码。。贴上来看看
      

  2.   

    persistence.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
      <persistence-unit name="JPA" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <non-jta-data-source/>
        <class>.......</class>
        <exclude-unlisted-classes>true</exclude-unlisted-classes>
        <properties>
          <property name="hibernate.proxool.pool_alias" value="pool"/>
          <property name="hibernate.proxool.xml" value="Proxool.xml"/>
          <property name="hibernate.connection.provider_class" value="org.hibernate.connection.ProxoolConnectionProvider"/>
          <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
          <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
          <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
          <property name="hibernate.show_sql" value="false"/>
        </properties>
      </persistence-unit>
    </persistence>Proxool.xml
    <?xml version="1.0" encoding="utf-8"?>
    <something-else-entirely>
    <proxool>
        <alias>pool</alias>
        <driver-url>jdbc:oracle:thin:@localhost:1521:test</driver-url>
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
        <driver-properties>
            <property name="user" value="test"/>
            <property name="password" value="test"/>
        </driver-properties>
        
        <house-keeping-sleep-time>90000</house-keeping-sleep-time>
     
        <maximum-new-connections>20</maximum-new-connections>
        
        <prototype-count>5</prototype-count>    <maximum-connection-count>100</maximum-connection-count>
        
        <minimum-connection-count>10</minimum-connection-count>
    </proxool>
    </something-else-entirely> 创建EntityManagerFactory代码:

    EntityManagerFactory emf;
    emf = Persistence.createEntityManagerFactory("JPA");
    EntityManager manager= emf.createEntityManager();

    这些是相关的文件