Ich habe gleiches Problem, zwei SpringBoot Prozess und ich mag Nachrichten durch die ActiveMQ senden. Zuerst ich habe es funktioniert weiteren Prozess mit dem ActiveMQ beginnen und die Konfiguration sowohl SpringBoot Prozesses in ihre application.properties Dateien mit:
spring.activemq.broker-url = tcp://localhost:61616
Whit diese Konfiguration Sie Springboot sagen zu einem externen ActiveMQ Service zu verbinden. Das funktioniert, aber dann muss ich zuerst start the ActiveMQ und nach meinem Springboot-Prozess. In einigen Seiten, die ich gelesen habe, muss das die Art sein, in Produktionsumgebungen zu arbeiten.
Eine andere Lösung besteht darin, die eingebettete JMS-Unterstützung bei einem SpringBoot-Prozess zu verwenden. Auf diese Weise müssen Sie den ActiveMQ-Brokerdienst für Verbindungen in einem Springboot-Prozess konfigurieren. Sie können diese das Hinzufügen eines Broker-Bean tun:
@Bean
public BrokerService broker() throws Exception {
final BrokerService broker = new BrokerService();
broker.addConnector("tcp://localhost:61616");
broker.addConnector("vm://localhost");
broker.setPersistent(false);
return broker;
}
Nun ist dieser SpringBoot Prozess mit dieser Bohne braucht nicht die vorherige Konfiguration an den application.properties, und dies wird der erste Prozess zu starten, um zu Lassen Sie ActiveMQ auf andere Prozessverbindungen warten.
Der andere Springboot-Prozess muss noch die Konfiguration unter der application.properties haben, um eine Verbindung zu dem ActiveMq herzustellen, der von dem ersten Prozess erstellt wird.
Ich hoffe, es hilft Ihnen. Mit freundlichen Grüßen.
Wenn ich dies tue, bekomme ich: Konnte keine Verbindung zum Broker herstellen URL: tcp: // localhost: 61616. Grund: java.net.ConnectException: Verbindung abgelehnt: connect – Igorock
Ich denke, diese Eigenschaft wird zum Setzen von Remote-JMS verwendet, nicht zum Ändern der URL von Embedded – Igorock
Können Sie die Einstellungen, die Sie für jede Anwendung verwenden? Es gibt mehrere Ports, die möglicherweise in Konflikt stehen. – gtonic