2012-01-10 278 views
1

我遇到麻烦的JBoss 7.1.0接法到Firebird数据库(jaybird驱动程序)CR1的Jboss 7火鸟连接

这是日志:

JBAS014775: New missing/unsatisfied dependencies: 
     service jboss.jdbc-driver.firebirdsql (missing) dependents: [service jboss.data-source.java:/tiranDS] 

这是standalone.xml

这是我standalone.xml [某些部分发生改变,就像...(SOME_PATH)...]

... 

    <subsystem xmlns="urn:jboss:domain:datasources:1.0"> 
      <datasources> 
       <datasource jndi-name="java:/tiranDS" pool-name="TiranPool" enabled="true" jta="true" use-java-context="true" use-ccm="true"> 
        <connection-url> 
         jdbc:firebirdsql:serversp/3050:C:\Program Files\...(some_path)...\tiran.gdb 
        </connection-url> 
        <driver> 
         firebirdsql 
        </driver> 
        <pool> 
         <prefill> 
          false 
         </prefill> 
         <use-strict-min> 
          false 
         </use-strict-min> 
         <flush-strategy> 
          FailingConnectionOnly 
         </flush-strategy> 
        </pool> 
        <security> 
         <user-name> 
          username 
         </user-name> 
         <password> 
          pass 
         </password> 
        </security> 
       </datasource> 
       <drivers> 
        <driver name="firebirdsql" module="org.firebirdsql"> 
         <xa-datasource-class> 
          org.firebirdsql.jdbc.FBDriver 
         </xa-datasource-class> 
        </driver> 
       </drivers> 
      </datasources> 
     </subsystem> 
... 

module.xml看起来像日是(在module.xml中提到的所有.jar文件都在... \ jboss的-AS-7.1.0.CR1b \模块\组织\ firebirdsql \主文件夹)

<module xmlns="urn:jboss:module:1.0" name="org.firebirdsql"> 
    <resources> 
     <resource-root path="jaybird-full-2.1.6.jar"/> 
     <resource-root path="jaybird-pool-2.1.6.jar"/> 
     <resource-root path="log4j-1.2.13.jar"/> 
     <resource-root path="jboss-javaee.jar"/> 
     <resource-root path="jmxri.jar"/> 
     <resource-root path="jmxtools.jar"/> 
     <resource-root path="sax2.jar"/> 

     <resource-root path="commons-logging-1.1.jar"/> 
     <resource-root path="junit-3.8.1.jar"/> 

    </resources> 

    <dependencies> 
     <module name="javax.api"/> 
     <module name="javax.activation.api"/> 
     <module name="javax.xml.soap.api"/> 
     <module name="javax.servlet.api"/> 
     <module name="org.jboss.common-core"/> 
     <module name="org.jboss.logging"/> 
     <module name="javax.mail.api"/> 


     <module name="org.apache.log4j"/>    
     <module name="org.jboss.logmanager.log4j"/> 
     <module name="org.apache.james.mime4j"/> 
     <module name="org.apache.commons.codec"/> 
     <module name="org.apache.commons.collections"/> 
     <module name="org.apache.commons.io"/> 
     <module name="org.apache.commons.lang"/> 
     <module name="org.apache.commons.logging"/> 
     <module name="org.apache.httpcomponents"/> 
     <module name="org.apache.xalan"/> 
     <module name="org.apache.xerces"/> 
     <module name="org.w3c.css.sac"/> 
     <module name="net.sourceforge.cssparser"/> 
     <module name="net.sourceforge.nekohtml"/> 
    </dependencies> 
</module> 

Whati是错在这里?曾在JBoss 5

与此驱动程序类

应用程序,但我都试过类org.firebirdsql.jdbc.FBDriverorg.firebirdsql.pool.FBConnectionPoolDataSource仍然没有改变。

此外,我已经尝试把jaybird-2.1.6.jar而不是jaybird-full-2.1.6.jar,但仍然错误是一样的。

JBAS014775: New missing/unsatisfied dependencies: 
     service jboss.jdbc-driver.firebirdsql (missing) dependents: [service jboss.data-source.java:/tiranDS] 

虽然我敢肯定,所有你说,马克是真的,好像这个问题在这之前所有上述就是我缺少module.xml一些依赖,但我不知道至极。

回答

1

org.firebirdsql.jdbc.FBDriver不是xa-datasource-class。此元素需要Jaybird中javax.sql.XADataSource实现的名称,而不是java.sql.Driver实现。

在Jaybird 2.1.6的XADataSource实现org.firebirdsql.pool.FBConnectionPoolDataSource(也http://web.firebirdsql.org/devel/doc/jaybird/pdf/jaybird_manual.pdf见)

据我知道的JBoss实际上包括使用火鸟的例子。 (但可能是早期版本)。在使用应用程序服务器时,不应该使用jaybird-full-2.1.6.jar文件,而应该使用jaybird-2.1.6.jar(因为前者包含一些(旧的)JavaEE接口包括在JBoss中)

1

也许有点晚了,我只是想说明火鸟是不是真的JDBC 4所以你要自己添加的驱动程序类的配置是这样的:

<driver name="firebirdsql" module="org.firebirdsql"> 
    <driver-class>org.firebirdsql.jdbc.FBDriver</driver-class> 
    <xa-datasource-class>org.firebirdsql.pool.FBConnectionPoolDataSource</xa-datasource-class> 
</driver> 

这应该解决您的问题