The slave ActiveMQ broker in a JDBC Master/Slave set up requires that the lock table be of the type InnoDB. MyISAM table can lead to real problems including effectively brining your database down where the only way out would be to kill the slave or reboot your database. For a description of the bug, see here. Basically, you must ensure that the default table creation for your mysql is set to InnoDB, or after you start ActiveMQ, alter its tables in the database (your other options is to modify the ActiveMQ
org.apache.activemq.store.jdbc.Statements class and rebuild ActiveMQ).
By default MySQL will create MyISAM based tables. You can alter a table type so that its storage engine is set to InnoDB. For ActiveMQ, you’ll need to alter the three tables that it creates:
ALTER TABLE ACTIVEMQ_LOCK ENGINE = InnoDB; ALTER TABLE ACTIVEMQ_ACKS ENGINE = InnoDB; ALTER TABLE ACTIVEMQ_MSGS ENGINE = InnoDB;