Tech > JbossMySql32

Configuring JBoss to use MySQL


For JBoss 3.0.8 see JbossMySql


I'm not sure which items are case-significant. Play safe and assume they all are!

  • Download the MySql jdbc drivers from http://www.mysql.com/downloads/api-jdbc.html

  • Extract mysql-connector-java-3.0.11-stable-bin.jar from the download and copy it to jboss-3.2.6/server/xxx/lib

  • copy jboss/docs/examples/jca/mysql-ds.xml to jboss-3.2.6/server/xxx/deploy directory

  • edit jboss-3.2.6/server/xxx/deploy/mysql-service.xml

And amend the connection-url property from to something like 'jdbc:mysql://localhost:3306/mydbname'.

Note: MySql uses lowercase for table names. This causes problems with JBoss if you used any upper-case characters when defining the table name. Most things work fine, but creating and deleting tables fails. Best use all lower-case characters for table names.


I use XDoclet to create my deployment descriptors (and more!) and updated the <jboss> subtask of my ant <ejbdoclet> task in build.xml to include them, e.g.

      <jboss version="${jboss.version}"
        xmlencoding="UTF-8"
        typemapping="mySQL"
        datasource="java:/MySqlDS"
        destdir="${build.dir}/META-INF"
        validateXml="false"
      />
No jb te os : These instructions will leave JBoss using Hypersonic for the smq persistence manager. Options to consider persuing are:
* Ch Ch Re ange the "jdbc2" mq persistence manager to use the mysql datasource ange jbossmq to use a non-jdbc persistence manager name or copy the MySQL datasource to DefaultDS

See also JbossMySql, MySql, JbossHintsAndTips, JbossPostgreSql

-- Frank Dean - 21 Mar 2005