camel + netty:仅在远程服务器可用时发送

时间:2017-06-14 00:12:34

标签: apache-camel netty

<route>
        <from uri="file://inbox?move=.txt"/>
        <to uri="netty:tcp://localhost:5150?encoders=#encoders&amp;sync=false"/>
 </route>

我需要通过套接字(IP和端口)将文件发送到远程旧版tcp服务器。此服务器有时不可用,所以:

1-我需要检查远程tcp服务器(套接字)是否可用。 2-如果没有,我需要等待5分钟。

我尝试了几种选择,但没有一种可行。

感谢

1 个答案:

答案 0 :(得分:0)

我使用以下配置:

        <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>