还得要将mysql 的jdbc驱动放进去

解决方案 »

  1.   

    回 sunyanbing(流星) :
    不好意思,我没说清楚,mysql 的 jdbc驱动程序也已经放到 default/lib 目录下了. 如果没有jdbc驱动程序,jboss 分析 mysql-ds.xml 是会报未找到 com.mysql.jdbc.Driver 类的错误.
      

  2.   

    结贴了,问题解决. 在代码里引用JNDI的名字写错了. java:comp/env/jdbc/mysqlds 这么写应该是正确的,但在我的JBOSS配置里应该这么写; java:/mysqlds 另外 mysqlds 也写错了 ^_^ 应该是 mysqldb
    \
    结贴!!
      

  3.   

    后记:
    java:comp/env/jdbc/mysqlds  这样的写法是JBOSS resource environment reference 的配置.在WEB-INF下的web.xml, jboss-web.xml 里配置相应的 resource-ref 就能通过那样的方式访问数据源. 最终配置如下:<!-- web.xml -->
    <web-app>
    <resource-ref>
    <res-ref-name>jdbc/mysqlds</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <jndi-name>java:/mysqlds</jndi-name>
    <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>  <!-- jboss-web.xml -->
    <jboss-web>
    <resource-ref>
    <description>mySql datasource</description>
    <res-ref-name>jdbc/mysqlds</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <jndi-name>java:/mysqlds</jndi-name>
    <res-auth>Container</res-auth>
    </resource-ref>
    </jboss-web>
    <!-- mysql-ds.xml --><datasources>
      <local-tx-datasource>
        <jndi-name>mysqlds</jndi-name>
        <connection-url>jdbc:mysql://localhost:3306/jbosstest</connection-url>
        <driver-class>com.mysql.jdbc.Driver</driver-class>
        <user-name>root</user-name>
        <password>root</password>
            <min-pool-size>5</min-pool-size>
            <max-pool-size>20</max-pool-size>
            <idle-timeout-minutes>5</idle-timeout-minutes>
        <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <metadata> 
    <type-mapping>mySQL</type-mapping> 
    </metadata>
      </local-tx-datasource>
    </datasources>