As it was mentioned in http://activemq.2283324.n4.nabble.com/activemq-user-Network-of-brokers-and-db-schema-td2342357.html#a2342360 "Its technically possible to patch the JDBC message store to include a broker ID column in all the tables to allow the same JDBC database to be
used for multiple brokers..."
Understanding all drawbacks of such approach, we would like to use "shared database instance" approach for multiple master/slave groups of brokers as a default configuration to simplify client's burden in administration of our product. Our software allowing to create/configure multiple brokers in master/slave groups dynamically via GUI. The problem is the current ActiveMQ master/slave default implementation requires a separate database instance for each master/slave group.
I was wondering if someone has implemented somethinng like this?
Looking into the source I can see that most of the SQL statements will need to be customized... This, seems, can be done via <statements> element in configuration xml... Possibly, we'll need own jdbcadapter similar to SybaseJDBCAdapter or OracleJDBCAdapter, or just extend JDBCPersistenceAdapter. DefaultDatabaseLocker might require to be extended as well... Is this correct assessment, or much more is involved?
I'd appreciate any help on this matter...
Well, we needed a solution when multiple brokers share the same set of activemq tables. So, eventually we went for implementation that I described in my question... The key was to introduce a broker_id field.