0

Ich versuche eine IntegrationFlowFactory zu erstellen, um einfach Integrationsflüsse für die Übergabe von Ereignissen zwischen Anwendungskontexten zu erstellen.Optimieren Verbrauchende Nachrichten von Rabbitmq mit Spring Integration

Alles scheint zu funktionieren, und Ereignisse werden sehr schnell veröffentlicht.

Allerdings kann ich nicht herausfinden, warum der Verbrauch so langsam ist. Das Hinzufügen von ConcurrentConsumers oder das Ändern von PrefetchCount scheint nichts zu ändern.

Andere Beiträge sprechen über das Netzwerk ist langsam, aber wie Sie in der RabbitConfig sehen kann, verwende ich localhost.

Ich habe ein Repository mit meiner Feder Integrations Beispiel hier: https://github.com/teplyuska/spring-integration-example

+0

Wenn die Erhöhung des Vorabrufs "scheinbar nichts ändert", ist es wahrscheinlich ein Problem im Listener-Code. Zeit, um deine App zu profilieren. Von 10 auf 100 zu gehen macht vielleicht keinen Unterschied, sollte aber von 1 auf 10 gehen (wenn der Listener leicht ist). –

+0

Ziehen Sie Ihre Probe lokal, um ein bisschen zu spielen ... –

+0

Das Hinzufügen von mehr ConcurrentConsumers wird den Gesamtdurchsatz erhöhen, aber es ist immer noch sehr niedrig für jeden Kunden. – heuts

Antwort

1

Ihr Problem ist hier:

Amqp.inboundGateway(getListenerContainer(queue, concurrentConsumers, prefetchCount) 

Inzwischen Ihre Abströmung ist Einweg und zurück keine Antwort :

.handle(p -> { 
       UpdateSecretEvent payload = (UpdateSecretEvent) p.getPayload(); 
       System.out.println("Account: " + payload.getAccountId() + " has secret: " + payload.getNewSecret()); 
}) 
.get(); 

oder

.handle(p -> { 
       UpdateEmailEvent payload = (UpdateEmailEvent) p.getPayload(); 
       System.out.println("Account: " + payload.getAccountId() + " has email: " + payload.getEmail()); 
}) 
.get(); 

So, das AmqpInboundGateway wartet auf die Antwort in seiner MessagingTemplate.sendAndReceive() für die private static final long DEFAULT_TIMEOUT = 1000L;

zum Amqp.inboundAdapter() Schalt es funktioniert der Trick.

Verwandte Themen