2017-06-14 1 views
0
<route> 
     <from uri="file://inbox?move=.txt"/> 
     <to uri="netty:tcp://localhost:5150?encoders=#encoders&amp;sync=false"/> 
</route> 

Ich muss Dateien über einen Socket (IP und Port) an einen Remote-Legacy-TCP-Server senden. Dieser Server ist manchmal nicht verfügbar, also:camel + netty: nur senden, wenn der Remote-Server verfügbar ist

1- Ich muss überprüfen, ob der Remote-TCP-Server (Socket) verfügbar ist. 2- wenn nicht, muss ich 5 Minuten warten.

Ich habe mehrere Optionen ausprobiert, aber keine funktioniert.

dank

+0

Blick auf Camel Fehlerbehandlung in dem Sie Setup-Rücklieferungen mit Verzögerungen zwischen –

+0

dank kann es einen Direkt vm Schritt hinzugefügt: < an uri = "direkt-vm: toTcp? block = true & timeout = 10000" /> – romu31

Antwort

0

Ich habe es mit der folgenden Konfiguration gearbeitet:

 <route id="step1" trace="false"> 
     <from uri="file:/dev/tmp/datain/?sortBy=file:name;&amp;delete=true&amp;maxMessagesPerPoll=1" /> 
     <convertBodyTo type="java.lang.String" /> 
    <to uri="direct-vm:toTcp?block=true&amp;timeout=10000" /> 
    </route> 

    <route id="step2" trace="false"> 
    <from uri="direct-vm:toTcp?block=true&amp;timeout=10000" /> 
    <to uri="netty4:tcp://localhost:7000?sync=true&amp;textline=true&amp;requestTimeout=50000&amp;synchronous=true" /> 
    </route> 
Verwandte Themen