Usiamo Apache Camel con ActiveMQ in un'architettura di microservizi in un crescente sistema di soluzioni di integrazione. Mi chiedevo come ogni servizio dovrebbe reagire quando non sono in grado di connettersi alla coda dei messaggi, o se questo dovrebbe essere gestito a tutti.
Poiché il sistema è in questo momento ogni servizio registra un'eccezione per ogni tentativo di riconnessione se il broker della coda dei messaggi non è raggiungibile. Questo sembra molto sub-ottimale. Esistono soluzioni già implementate o altri suggerimenti intelligenti in grado di gestirli? Eseguiamo un broker non cluster su localhost, quindi se il broker è irraggiungibile, è probabilmente causato dal servizio che contiene il broker che si è arrestato in modo anomalo e non funzionerà fino a quando qualcuno riavvierà manualmente l'intero contenitore servlet (in questo caso il molo) , che molto probabilmente richiederebbe almeno minuti. E quando qualcuno riavvia il sistema, i file di registro avranno innumerevoli eccezioni di connessione JMS.