在jboss保险丝上使用驼峰路径连续运行循环

时间:2016-12-06 03:54:35

标签: java apache-camel jbossfuse

需要从socket()读取数据,使用ibatis解析并写入数据库。这必须连续完成。不确定如何连续运行此过程。考虑使用驼峰循环。但看起来我们需要提到循环计数。

<route id="vts-data">
    <from uri="timer://runOnce?repeatCount=1" />
    <doTry>
        <loop>
            <to uri="bean:vtsProcessor?method=extractLocations" />
            <log message="Details List is  : ${body}" />
        </loop>
        <choice>
            <when>
                <simple>${body.size} == 0</simple>
                <log message="List is null ${body}" />
            </when>
            <otherwise>
                <to uri="mybatisPromis:insertLocationData?statementType=SelectList" />
                <log message="Details List is : ${body}" />
                <choice>
                    <when>
                        <simple>${body.size} == 0</simple>
                        <log message="Details List is null : ${body}" />
                    </when>
                    <otherwise>
                        <log message="Details List is  : ${body}" />
                    </otherwise>
                </choice>
            </otherwise>
        </choice>
        <doCatch>
            <exception>java.lang.Exception</exception>
        </doCatch>
        <doFinally>
            <to uri="log:body" />
        </doFinally>
    </doTry>
</route>

我是骆驼的新手并融合。考虑使用工作线程连续运行过程但不运气。需要一些指针来做优化方法。

1 个答案:

答案 0 :(得分:0)

驼峰路线提供了&#34;始终运行的过程&#34;。只需安排组件和EIP即可满足您的要求。

  1. 推荐的方法是从&#34;

  2. 中读取套接字。
  3. 如果不是#1,你应该看一下使用pollingConsumer模式..定时器运行..轮询套接字端点..然后坚持到ibatis

  4. 参考:http://camel.apache.org/polling-consumer.html