Ich muss ein Thema und einen dauerhaften Abonnenten für ActiveMQ erstellen, ist mein Problem, dass ich nicht weiß, wo das angeben. Ich bin in der Lage, das Thema zu erstellen und die Nachrichten zu konsumieren, aber wenn ich den Abonnenten ausschalte, weiter Nachrichten sende und den Abonnenten wieder einschalte, wird er sie nicht lesen.Erstellen von dauerhaften Thema und Abonnenten Spring Boot jms mit ActiveMQ
Dies ist, was ich bisher:
die Nachricht gesendet:
JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);
jmsTemplate.setPubSubDomain(true);
jmsTemplate.setDeliveryMode(DeliveryMode.PERSISTENT);
jmsTemplate.setDeliveryPersistent(true);
jmsTemplate.convertAndSend("venta.topic",venta);
die Nachricht empfangen:
@JmsListener(destination = "venta.topic",id = "comercial",subscription = "venta.topic")
public void receiveMessage(Venta venta) {
logger.log(Level.INFO, "RECEIVED : {0}",venta);
repository.save(venta);
}
ich this article gelesen habe, und ich verstehe, dass ich erstellen müssen der dauerhafte Abonnent.
Ich habe auch gelesen, die spring docs
Und ich denke, es hat etwas mit der DefaultJmsListenerContainerFactory
zu tun (was ich umgesetzt habe nicht ich die Standardkonfiguration verwende), die Dokumentation zeigt:
@Bean
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
DefaultJmsListenerContainerFactory factory =
new DefaultJmsListenerContainerFactory();
factory.setConnectionFactory(connectionFactory());
factory.setDestinationResolver(destinationResolver());
factory.setConcurrency("3-10");
return factory;
}
Aber ich kann nicht scheinen, wo die dauerhafte Sitzung zu erstellen. Sowohl mein Produzent als auch mein Abonnent sind mit einer eigenständigen activemq-Binärdatei verbunden.
Ich hoffe, Sie können mir helfen, danke im Voraus.
Danke für mich in die richtige Richtung –