2014-02-20 54 views
3

即时将项目从JBoss3迁移到JBoss7。我刚从昨天开始,重新配置standalone.xml,module.xml和persistence.xml。JBoss7 + PostgreSQL新的缺失/不满意的依赖关系

在JBoss模块文件夹中,我创建了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) 

这是我在module.xml /模块/组织/ PostgreSQL的/主

<?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> 
      <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

嗯,没有什么会向我弹出真正错误的;唯一不正确的是你的数据源中有一个驱动类,它是驱动声明的一部分。此外,我没有在我的驱动程序的module.xml中的数据源名称空间 – Gimby

+0

就是这样。似乎现在工作。非常感谢,我现在有点惭愧地问这个问题;)非常感谢! – DenisK

+0

究竟是什么?驱动程序类或模块名称空间? – Gimby

回答

3

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

  • 不包括在<datasource><driver-class>节点。这仅属于<driver>声明。这修复了上述错误

  • 请勿在modules/org/postgresql/main/module.xml中使用xmlns="urn:jboss:domain:datasources:1.0"。这修复了第一个问题修复时出现的另一个错误。

相关问题