We are running Hive MQ as a service along with several other services. We have a service that starts after HiveMQ starts, but that service still fails to connect. Of course we can add retries. But instead of polling, a better design would be for HiveMQ to integrate with the systemd paradigm.
For example, If Service A is long to initialize and B must wait until it’s truly ready, use Type=notify and systemd-notify:
Once the HiveMQ broker has fully initialized and is ready, you will see the following entry in the logs:
INFO - Started HiveMQ in 15678ms
This log message indicates that the HiveMQ service is fully operational. You may use this as a reliable signal for other dependent services to begin their startup process.
I hope this information helps you in implementing the appropriate waiting mechanism between your services.