2012-10-01 31 views
2

我想在jboss独立模式下设置mysql数据源。我已经部署使用mysql-connector-java的5.1.15-bin.jar,并设置以下数据源配置在standalone.xml下的数据源在jboss独立模式下设置数据源

<datasource jndi-name="java:jboss/datasources/MySqlDS" pool-name="MySqlDS" enabled="true" use-java-context="true"> 
     <connection-url>jdbc:mysql://localhost:3306/testdb</connection-url> 
     <driver>mysql</driver> 
     <security> 
     <user-name>root</user-name> 
     </security> 
</datasource> 

当我点击在配置数据源名称Web控制台即时得到下面的错误,

Internal server error{ 
"outcome" => "failed", 
"failure-description" => "JBAS014739: No handler for read resource at address [ 
(\"subsystem\"=>"\datasource\"), 
(\"data-source\"=>"\MySqlDS\"), 
(\"statstics\"=>"\pool\"), 
"], 
"roleback" => "true" 
} 

我没有添加任何东西在驱动程序部分,因为它不nessaccary,

下面一个被设置为在JBoss中设置采样数据源

<drivers> 
     <driver name="h2" module="com.h2database.h2"> 
     <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class 
     </driver> 
</drivers> 

我在这里错过了什么?

回答

1

您还需要指定驱动程序类

​​

结帐这个链接How do I migrate my application from AS5 or AS6 to AS7

+0

我已经试过这个。但仍然错误未知知道 – FrankD

+0

我是否需要在standalone.xml中的驱动程序标记下为mysql还有一个xa-datasource类?在他们为com.h2database.h2设置的示例数据源中设置了它,但我们是否也需要它在mysql中 – FrankD

1

我已经经历了相同的情况下相同的问题。问题是我的AS没有PostgreSQL所需的模块。如果您有一个名为postgresql的文件夹,请检查jboss/modules/org。如果没有,然后创建它。然后在其中创建一个名为main的目录。 你就必须有两个文件出现在那里:

  • module.xml配置文件

  • 下载JAR文件,根据你的数据库

    • PostgreSQL的JDBC JAR在这里使用并复制它。至于module.xml只需创建一个新文件并设置配置。我的是这样,自定义为您的情况:

      <?xml version="1.0" encoding="UTF-8"?> 
      <module xmlns="urn:jboss:module:1.1" name="org.postgresql"> 
      <resources> 
          <resource-root path="postgresql-9.3-1100.jdbc4.jar"/> 
      </resources> 
      <dependencies> 
          <module name="javax.api"/> 
          <module name="javax.transaction.api"/> 
      </dependencies> 
      </module> 
      

      基本上你只需要改变到你的JAR文件的资源路径。

      这是JBOSS的问题,即使JDBC驱动程序丢失,它也不会警告您。我浪费了大量的时间找到这个隐藏的bug:D