2016-11-06 5 views
0

Вызов db для получения идентификаторов объекта. Я получаю список сущностей. После получения списка идентификаторов мне нужно вызвать веб-сервис, передав этот список сущностей. Если размер списка превышает 100, я должен сделать несколько вызовов, так как веб-сервис не будет принимать более сотни идентификаторов со списком.Проверка размера списка входных данных с помощью верблюда DSL/spring config xml

Помогите мне с верблюдом dsl в формате весны xml, чтобы управлять входом и передавать один и тот же управляемый вход в веб-сервис.

Я создал контекст, как below.but застрял с расщеплением или разделить запросы веб-сервиса, если размер списка ввода более 100.

<cxf:cxfEndpoint id="aisEndPoint" 
     address="/WebService" 
      endpointName="a:DPWVessel" 
      serviceName="a:VesselService" 
      wsdlURL="ScheduleWebService.wsdl" 
      serviceClass="cargo.DPWVessel" /> 
<camelContext id="AIS-Integration" 
     xmlns="http://camel.apache.org/schema/blueprint"> 



<route id="getAISVesselDetails"> 
       <from 
        uri="quartz://aisVesselUpdates?cron={{ais.integration.vessels.timer}}" /> 
       <doTry> 
        <to uri="mybatisPromis:getVessels?statementType=SelectList" /> 
        <to uri="bean:aisIntegrationProcessor?method=createInputForAISService" /> 
        <to uri="cxf:bean:aisEndPoint" /> 
        <doCatch> 
         <exception>java.lang.IllegalArgumentException</exception> 
        </doCatch> 
        <doFinally> 
         <to uri="log:body" /> 
        </doFinally> 
       </doTry> 
      </route> 
     </camelContext> 

ответ

0

Разделить список в кусках 100. Использование петли верблюда и процессор.

Loop: каждая итерация занимает 100 элементов списка до тех пор, listsize не было достигнуто

Процессор: вынимают требуется никаких значений списка в новый список, передать новый список вашего веб-сервиса, имеющего 100 элементов в каждой итерации ,