Currently integration components, particularly those that interact with the bus, live in
the respective component repos. I have been working with Peter on HAWKULAR-844 to migrate
the bus from ActiveMQ to the default messaging subsystem in WildFly 10, which is based on
ActiveMQ Artemis. While working on this, I started to wonder if all of the integration
components should live in the same repo. Let’s say I make a breaking change in the bus,
then we have to update and cut releases for each of the component repos, which is
currently five or six. If the integration components live in the same repo as the bus, it
is much easier to make the changes and we only have one new release to worry about.
Keeping the integration components in the same repo should also help reduce the number of
dependencies in each of the component repos which makes development on any one of them
easier. I want to know what people think because once HAWKULAR-844 is done, I would like
to consider some refactoring in the bus code to utilize JMS 2.0 APIs including support for
async sending/receiving messages. This would likely entail breaking changes.
- John