Version 3

    This is a reworked article that I found on a blog. The original article can be found at themindwobbles.wordpress.com.

     

    1. Install the MySQL JDBC driver in the $JBOSS_HOME/server/default/lib directory. See also SetUpAMysqlDatasource.

     

    2. Delete $JBOSS_HOME/server/default/deploy/hsqldb-ds.xml.

     

    3. Copy $JBOSS_HOME/docs/examples/jca/mysql-ds.xml to $JBOSS_HOME/server/default/deploy. Modify the <local-tx-datasource> element with your MySQL connection settings:

     

     

       <connection-url>jdbc:mysql://your-hostname:your-port/your-database-name</connection-url>    <driver-class>com.mysql.jdbc.Driver</driver-class>    <user-name>your-user</user-name>    <password>your-pass</password>

     

     

    4. In $JBOSS_HOME/server/default/conf/standardjaws.xml change the <type-mapping> element:

     

     

       <type-mapping>mySQL</type-mapping>

     

    5. In standardjbosscmp-jdbc.xml change the following, not necessarily contiguous, elements:

     

       <datasource>java:/DefaultDS</datasource>    <datasource-mapping>mySQL</datasource-mapping>    <fk-constraint>true</fk-constraint>

     

     

    6. Add the following within the element of login-config.xml:

     

    <application-policy name = "MySqlDbRealm">    <authentication>       <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">          <module-option name = "principal">your-user</module-option>          <module-option name = "userName">your-user</module-option>          <module-option name ="password">your-pass</module-option>          <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=DefaultDS</module-option>       </login-module>    </authentication> </application-policy>

     

     

    7. Replace file $JBOSS_HOME/server/default/deploy/jms/hsql-jdbc2-service.xml by file $JBOSS_HOME/docs/examples/jms/mysql-jdbc2-service.xml

     

    8. Change MySqlDS to DefaultDS in $JBOSS_HOME/server/default/deploy/jms/mysql-jdbc2-service.xml:

     

    <mbean code="org.jboss.mq.pm.jdbc2.PersistenceManager"    name="jboss.mq:service=PersistenceManager">    <depends optional-attribute-name="ConnectionManager">jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>    <attribute name="SqlProperties">    ...

     

    9. Rename hsqldb-jdbc-state-service.xml to mysql-jdbc-state-service.xml.