2016-11-04 31 views
2

可能是此錯誤的原因是什麼?無法獲得託管連接EJB,Hibernate,JBOSS,Postgres

我的數據源作爲模塊包含在內,如果我不試圖從那裏查找,就會崩潰。 這是我的錯誤:

2016-11-04 15:57:55,389 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (ServerService Thread Pool -- 74) javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/datasources/PostgresDS 

這是畝standalone.xml:

    <datasource jta="true" jndi-name="java:jboss/datasources/PostgresDS" pool-name="PostgresDS" enabled="true" use-java-context="true"> 
       <connection-url>jdbc:postgresql://localhost:5433/cats</connection-url> 
       <connection-property name="cats"> 
        dictionary 
       </connection-property> 
       <driver>postgres</driver> 
       <pool> 
        <min-pool-size>1</min-pool-size> 
        <max-pool-size>20</max-pool-size> 
       </pool> 
       <security> 
        <user-name>postgres</user-name> 
        <password>mei</password> 
       </security> 
      </datasource> 
      <drivers> 
       <driver name="postgres" module="org.postgres"> 
        <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class> 
        <datasource-class>org.postgresql.Driver</datasource-class> 
      </drivers> 

這是我的persistence.xml:

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

    <persistence version="2.1" 
     xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation=" 
    http://xmlns.jcp.org/xml/ns/persistence 
    http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> 
<persistence-unit name="primary"> 
    <jta-data-source>java:jboss/datasources/PostgresDS</jta-data-source> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <properties> 
     <property name="hibernate.archive.autodetection" value="class" /> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" /> 
     <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" /> 
     <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5433/cats" /> 
     <property name="hibernate.connection.username" value="postgres" /> 
     <property name="hibernate.connection.password" value="postgres" /> 
     <!-- <property name="hibernate.show_sql" value="true"/> --> 
     <property name="hibernate.flushMode" value="FLUSH_AUTO" /> 
     <property name="hibernate.hbm2ddl.auto" value="update" /> 
    </properties> 
</persistence-unit> 

這是我的聚甲醛.xml:

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

http://maven.apache.org/xsd/maven-4.0.0.xsd「> 4.0.0

<groupId>catshelter</groupId> 
<artifactId>catshelter-java</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>war</packaging> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <version.wildfly.maven.plugin>1.0.2.Final</version.wildfly.maven.plugin> 
    <version.jboss.spec.javaee.7.0>1.0.3.Final</version.jboss.spec.javaee.7.0> 
    <version.war.plugin>3.0.0</version.war.plugin> 
    <maven.compiler.target>1.8</maven.compiler.target> 
    <maven.compiler.source>1.8</maven.compiler.source> 
</properties> 

<dependencyManagement> 
    <dependencies> 
     <!-- JBoss version 
      JavaEE 7 
      Any d-s from org.jboss.spec--> 
     <dependency> 
      <groupId>org.jboss.spec</groupId> 
      <artifactId>jboss-javaee-7.0</artifactId> 
      <version>${version.jboss.spec.javaee.7.0}</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 

    </dependencies> 
</dependencyManagement> 

<dependencies> 
    <!-- CDI API Context and Dependency injection--> 
    <dependency> 
     <groupId>javax.enterprise</groupId> 
     <artifactId>cdi-api</artifactId> 
     <scope>provided</scope> 
    </dependency> 

    <!-- Common annotation API (JRS-250)--> 
    <dependency> 
     <groupId>org.jboss.spec.javax.annotation</groupId> 
     <artifactId>jboss-annotations-api_1.2_spec</artifactId> 
     <scope>provided</scope> 
    </dependency> 

    <!-- JSF API Java Server Faces--> 
    <dependency> 
     <groupId>org.jboss.spec.javax.faces</groupId> 
     <artifactId>jboss-jsf-api_2.2_spec</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <!-- JTA - transaction api--> 
    <!-- JPA Java Persistence api--> 
    <dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.1-api</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <!--JPA --> 
    <dependency> 
     <groupId>org.jboss.spec.javax.transaction</groupId> 
     <artifactId>jboss-transaction-api_1.2_spec</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <!--EJB API--> 
    <dependency> 
     <groupId>org.jboss.spec.javax.ejb</groupId> 
     <artifactId>jboss-ejb-api_3.2_spec</artifactId> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>5.2.0.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>5.1.0.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.postgresql</groupId> 
     <artifactId>postgresql</artifactId> 
     <version>9.4.1211</version> 
    </dependency> 
</dependencies> 
<build> 
    <finalName>${project.artifactId}</finalName> 
    <plugins> 
     <plugin> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>${version.war.plugin}</version> 
      <configuration> 
       <failOnMissingWebXml>false</failOnMissingWebXml> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.wildfly.plugins</groupId> 
      <artifactId>wildfly-maven-plugin</artifactId> 
      <version>${version.wildfly.maven.plugin}</version> 
      <configuration> 
       <hostname>${wildfly-hostname}</hostname> 
       <port>9991</port> 
       <username>${wildfly-username}</username> 
       <password>${wildfly-password}</password> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

回答

0

同樣這是一個錯誤的XML配置。我已經改變了我的休眠設置在persistance.xml:

 <persistence version="2.1" 
    xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=" 
http://xmlns.jcp.org/xml/ns/persistence 
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> 
<persistence-unit name="postgres"> 
    <jta-data-source>java:jboss/datasources/PostgresDS</jta-data-source> 
    <!--Next (provider and dialect) are for version 9.4 and higher --> 
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> 
    <properties> 
    <property name="hibernate.dialect"value="org.hibernate.dialect.PostgreSQL94Dialect" /> 
    <!-- this I comment because I already have my connection registered as a module 
    <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" /> 
    <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5433/cats" /> 
    <property name="hibernate.connection.username" value="postgres" /> 
    <property name="hibernate.connection.password" value="mei" /> 
    Next I setup value of show_sql for false and hb2ddl.auto for "create-drop"--> 
    <property name="hibernate.show_sql" value="false"/> 
    <property name="hibernate.flushMode" value="FLUSH_AUTO" /> 
    <property name="hibernate.hbm2ddl.auto" value="create-drop" /> 
</properties>