I've been working on migrating from JBossMQ to JBossMessaging with JBoss AS 4.2.2.GA. I'm using JBossMessaging 1.4.0.SP3.
Our JBoss AS is completely configured through Maven. We put the JBoss AS as a zip artifact in a local repository; extract it from there using the maven-depenency-plugin and do some assembling to get the correct libraries in the correct locations with the maven-assembly-plugin. Configuration is done through maven filtering the JBoss XML configuration files. All this worked perfectly before I started the migration to JBossMessaging from JBossMQ.
Seeing as so much has been customized about our JBoss AS, I went about this manually rather than using the script.
- I removed the jbossmq.jar from server/default/lib.
- I moved jms-ds.xml and jms-ra.rar from server/default/deploy/jms into server/default/deploy and removed the server/default/deploy/jms directory.
- In server/default/conf/standardjboss.xml I toggled CreateJBossMQDestination to false.
- In server/default/conf/login-config.xml I commented the JBossMQ application-policy and added one for JBossMessaging: http://www.lhunath.lyndir.com/stuff/login-config.xml
- In server/default/conf/jboss-service.xml I removed jboss.mq:service=DestinationManager
- Removed server/default/deploy/jboss-messaging.sar/hsqldb-persistence-service.xml and replaced it with the mysql-persistence-service.xml from the examples directory. Modifications made to the mysql-persistence-service.xml include changing of DefaultDS to the DS we use and removed all POPULATE.TABLES.X instances except for the guest ones. See http://www.lhunath.lyndir.com/stuff/mysql-persistence-service.xml.
Any files not mentioned are kept at their defaults.
Additionally, the SAR that configures our MDBs has the following done to META-INF/jboss-service.xml:
- Added the following to the top of the file:
<loader-repository>jboss.messaging:loader=ScopedLoaderRepository <loader-repository-config>java2ParentDelegation=false</loader-repository-config> </loader-repository>
- Replaced by <mbean code="org.jboss.jms.server.destination.QueueService" name="safeonline:service=Queue,name=outgoing-email" xmbean-dd = "xmdesc/Queue-xmbean.xml">
- Replaced the depends of this mbean by <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer and jboss.messaging:service=PostOffice.