Chapter 2. Migrating to HornetQ
Read this chapter to migrate existing JBoss Messaging applications to HornetQ. The Installation Guidecontains instructions on installing an instance of JBoss Enterprise Application Platform with HornetQ, and should be read in conjunction with this section.
2.1. Before You Migrate
Important
You must shut down your client and server before attempting to migrate from JBoss Messaging to HornetQ.
Note
JBoss Messaging uses a database to store persistent data unless null persistence is specified. HornetQ uses its own high-performance journal system instead of a database, so your database does not need to be shut down for migration purposes.
Warning
Due to the way NFS's synchronous locking mechanism works it is not an appropriate method of storing JMS data for use with HornetQ.
2.1.1. Back up relevant data
It is important to back up all data used in your application and your JBoss Messaging server before you migrate. This section outlines the data recommended for backup before migration.
2.1.1.1. JBoss Messaging database tables
JBoss Messaging uses a number of database tables to store persistent data. These tables include internal state information of JBoss Messaging, persistent messages and security settings. This section lists tables that hold important data.
- JBM_MSG_REF, JBM_MSG
- These tables store persistent messages and their states.
- JBM_TX, JBM_TX_EX
- These tables store transaction states.
- JBM_USER, JBM_ROLE
- These tables store user and role information.
- JBM_POSTOFFICE
- This table holds bindings information.
2.1.1.2. JBoss Messaging configuration files
Most configuration files are stored in
$JBOSS_HOME/server/$PROFILE/deploy/messaging
, assuming your JBoss Messaging server profile is messaging
. Applications can choose other locations in which to deploy some configuration files.
You will need to back up and migrate the following configuration files to HornetQ:
- Connection Factory service configuration files
- Contain JMS connection factories deployed with the JBoss Messaging server.
- Destination service configuration files
- Contain JMS queues and topics deployed with the JBoss Messaging server.
- Bridge service configuration files
- Contain bridge services deployed with the JBoss Messaging server.
Other configuration files, such as
messaging-service.xml
and the database persistence configuration file, are JBoss Messaging MBeans configurations. The HornetQ implementation consists only of Plain Old Java Objects (POJOs), so these configuration files are not migration targets.
JBoss Messaging relies on the JBoss Remoting and JGroups services in order to work. The configuration files for these services contain settings specific to applications. HornetQ's transport layer and cluster design differ from that in JBoss Messaging. You will need to map the parameters in the service configuration files to their HornetQ equivalents, if any.