JBoss7 + PostgreSQL新的缺失/不满足的依赖项

时间:2014-02-20 14:00:06

标签: java xml postgresql persistence jboss7.x

我将项目从JBoss3迁移到JBoss7。我刚刚开始并重新配置了我的standalone.xml,module.xml和persistence.xml。

在JBoss modules文件夹中,我创建了org / postgres / main目录。在这个目录中,我得到了新的Postgres JDBC41驱动程序和我的module.xml。

如果我想启动JBoss,这就是我得到的:

14:42:53,697 INFO  [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report
JBAS014775:    New missing/unsatisfied dependencies:
  service jboss.jdbc-driver.postgresql (missing) dependents: [service jboss.data-source.java:jboss/datasources/RESyDS] 

14:42:53,725 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on          http://127.0.0.1:9990
14:42:53,726 ERROR [org.jboss.as] (Controller Boot Thread) JBAS015875: JBoss AS 7.1.1.Final "Brontes"   started (with errors) in 3800ms - Started 155 of 234 services (2 services failed or missing dependencies,   76 services are passive or on-demand)

这是我在/ modules / org / postgresql / main

中的module.xml
<?xml version="1.0" encoding="UTF-8"?>  
<module xmlns="urn:jboss:module:1.0" xmlns="urn:jboss:domain:datasources:1.0" name="org.postgresql">  
<resources>  
    <resource-root path="postgresql-9.3-1101.jdbc41.jar"/>  
</resources>  
<dependencies>  
    <module name="javax.api"/>  
    <module name="javax.transaction.api"/>  
</dependencies>  
</module> 

standalone.xml datasources-part:

<datasources>
            <datasource jta="true" jndi-name="java:jboss/datasources/RESyDS" pool-name="RESyDS" enabled="true" use-java-context="true">
                <connection-url>jdbc:postgresql://192.168.28.123:5432/dgap</connection-url>
                <driver>postgresql</driver>
                <driver-class>org.postgresql.Driver</driver-class>
                <security>
                    <user-name>resy</user-name>
                    <password>resy</password>
                </security>
            </datasource>
            <drivers>
                <driver name="postgresql" module="org.postgresql">
                    <driver-class>org.postgresql.Driver</driver-class>
                </driver>
            </drivers>
        </datasources>

的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="em">
    <jta-data-source>java:jboss/datasources/RESyDS</jta-data-source>
    <properties>
        <property name="hibernate.archive.autodetection" value="class" />
    </properties>
</persistence-unit>
</persistence>

我不知道,如何解决问题。 已经尝试部署驱动程序文件,但它不会改变任何内容。

我检查了所有的文件名,问我的同事们,我觉得在这个问题上检查了整个互联网。没人知道暗示。

我希望有人可以提供帮助;)

干杯

1 个答案:

答案 0 :(得分:4)

我有完全相同的问题,这是上述评论中的解决方案:

  • 请勿在{{1​​}}节点中包含<driver-class>。这只属于<datasource>声明。这解决了上述错误

  • 不要在modules / org / postgresql / main / module.xml中使用<driver>。这修复了第一个问题修复后出现的另一个错误。