Hi,
MQTT Broker has options to store data to to any back end storage with Custom Storage options.
The Broker also provide component MQTT Broker which can be integrated closely with any language. By default it has the option to run it with Python but can be made it work with Java or any language.
All inward messages, connections , acknowledgement and the outward messages will be given to the application layer and also there will be APIs to call and send data.
Disclaimer: I work for Bevywise Networks.
Cheers,
Ranjith