2017-10-04 3 views
0

Ich habe in Apache Camel nach dem Throttler gesucht und unter http://camel.apache.org/throttler.html gelesen, dass der rejectExecution-Wert standardmäßig auf false gesetzt ist.Wie man den Wert rejectExecution auf True in Camel ändert

Meine Frage ist, wie ändere ich diesen Wert auf wahr?

zum Beispiel in der Route unten, wo würde ich den Standardwert ändern?

from("direct:start") 
.throttle(5).timePeriodMillis(2000) 
.to("mock:throttled") 
.end() 
.to("mock:after") 
+0

Sie sollten ein bisschen selbst versuchen finden, wie seine einfache –

Antwort

1

Verwenden Sie einfach Ihre Java-Editor, und drücken Sie Strg + Raum eine Liste der möglichen Methoden zu bekommen, und Sie können es

from("direct:start") 
.throttle(5).timePeriodMillis(2000).rejectExecution(true) 
.to("mock:throttled") 
.end() 
.to("mock:after") 
+0

Dank für die antwort, ich wollte auch wissen, wann diese ausfallausführungsausnahme ausgelöst wird, verwerfen sie die ankommende anforderung oder verarbeitet sie die anfrage weiter, wenn die drosselrate sinkt? – user6248190

+1

Wenn "true" abgelehnt wird, indem eine Ausnahme ausgelöst wird, können Sie den Camel-Fehlerhandler verwenden, um zu entscheiden, was zu tun ist. ZB in diesem Beispiel, was auch immer der direkte: Start-Endpunkt genannt wird, erhält eine Ausnahme. Wenn false, dann wartet es, bis der Throttler "frei" ist und verarbeitet die Nachricht später. –

+0

in Kamel ist es möglich, etwas zu tun, wenn Drosselung 5 in 2000 Millisekunden überschreitet, dann möchte ich ein System tun.Auslassen mich wissen, die Drossel hat überschritten? – user6248190

Verwandte Themen