2015-07-02 2 views
0

Я работаю с Mule EE 3.5.2, пытаясь поток полезной нагрузки через:Mule DataMapper Streaming висит навсегда

  1. Http запрос-ответ конечная точка, которая имеет тип содержимого в приложения/XML и вывод в типа ReleasingInputStream

  2. поток данных в потоке DataMapper (включен), отображение из XML в коллекцию

  3. затем использовать для каждой области, чтобы обработать каждый элемент Pojo, используя JAXB processcor, чтобы превратить их в индивидуальный XML

  4. отправить каждый XML в очередь JMS

Когда я тестирую с небольшой частью данных, это работало все хорошо, но как только я подключить реальный источник данных в, с примерно 600 000 записей, вытекающими из конечной точки http, картограф данных висит ниже в журнале, и больше никаких действий не происходит, пожалуйста, помогите мне узнать, почему, спасибо.

My Flow XML (аннотация):

<flow> 
<http:outbound-endpoint exchange-pattern="request-response" 
        method="GET" 
        doc:name="GET /v1/student/detail" 
        password="${esb.service.password.mule}" user="${esb.service.user.mule}" 
        host="${service-v1.host}" mimeType="application/xml" 
        path="v1/resource/detail?lastmodifiedsince=#[java.net.URLEncoder.encode(flowVars['studentone-studentdetails-watermark'], 'UTF-8')]" 
        port="${service-v1.port}" 
        responseTimeout="${service-v1.timeout}" /> 

     <data-mapper:transform doc:name="Split StudentOne StudentItems" config-ref="mapping_ref" stream="true" pipeSize="2048"/> 

<foreach doc:name="For Each"> 
      <mulexml:jaxb-object-to-xml-transformer returnClass="java.lang.String" jaxbContext-ref="jaxbContext" doc:name="JAXB Object to XML"/> 

      <jms:outbound-endpoint"/> 
     </foreach> 

</flow> 

выход журнала, который висит на последней строке:

DEBUG 2015-07-03 00:11:25,122 [WatchDog_0] org.jetel.graph.runtime.WatchDog: XML_READER0 ... starting 
DEBUG 2015-07-03 00:11:25,127 [WatchDog_0] org.jetel.graph.runtime.WatchDog: All components are ready to start. 
INFO 2015-07-03 00:11:25,127 [WatchDog_0] org.jetel.graph.runtime.WatchDog: Successfully started all nodes in phase! 
INFO 2015-07-03 00:11:25,319 [main] org.jetel.graph.runtime.EngineInitializer: Checking graph configuration... 
INFO 2015-07-03 00:11:25,356 [main] org.jetel.graph.runtime.EngineInitializer: Graph configuration is valid. 
INFO 2015-07-03 00:11:25,357 [main] org.jetel.graph.runtime.EngineInitializer: Graph initialization (Split_StudentOne_StudentItems) 
DEBUG 2015-07-03 00:11:25,357 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge3] : BUFFERED 
DEBUG 2015-07-03 00:11:25,357 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge9] : BUFFERED 
DEBUG 2015-07-03 00:11:25,357 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge7] : BUFFERED 
DEBUG 2015-07-03 00:11:25,358 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge1] : BUFFERED 
DEBUG 2015-07-03 00:11:25,358 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge5] : BUFFERED 
DEBUG 2015-07-03 00:11:25,358 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge11] : BUFFERED 
DEBUG 2015-07-03 00:11:25,358 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge0] : BUFFERED 
DEBUG 2015-07-03 00:11:25,358 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge2] : BUFFERED 
DEBUG 2015-07-03 00:11:25,358 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge4] : BUFFERED 
DEBUG 2015-07-03 00:11:25,358 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge6] : BUFFERED 
DEBUG 2015-07-03 00:11:25,358 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge10] : BUFFERED 
DEBUG 2015-07-03 00:11:25,358 [main] org.jetel.graph.TransformationGraph: EdgeType [Edge8] : BUFFERED 
INFO 2015-07-03 00:11:25,359 [main] org.jetel.graph.Phase: Initializing phase 0 
DEBUG 2015-07-03 00:11:25,360 [main] org.jetel.graph.Phase: Initializing edges 
DEBUG 2015-07-03 00:11:25,385 [main] org.jetel.graph.Phase: All edges initialized successfully. 
DEBUG 2015-07-03 00:11:25,385 [main] org.jetel.graph.Phase: Initializing nodes 
DEBUG 2015-07-03 00:11:25,421 [main] org.jetel.graph.Phase:  BEAN_WRITER0 ...OK 
DEBUG 2015-07-03 00:11:25,422 [main] org.jetel.graph.Phase:  FOREACH_ADDRESS_ADDRESSES ...OK 
DEBUG 2015-07-03 00:11:25,423 [main] org.jetel.graph.Phase:  FOREACH_ADDRESS_ADDRESSES1 ...OK 
DEBUG 2015-07-03 00:11:25,424 [main] org.jetel.graph.Phase:  FOREACH_ELECTRONIC_CONTACT_ELECTRONIC_CONTACTS ...OK 
DEBUG 2015-07-03 00:11:25,425 [main] org.jetel.graph.Phase:  FOREACH_NS0_STUDENT_LIST ...OK 
DEBUG 2015-07-03 00:11:25,425 [main] org.jetel.graph.Phase:  FOREACH_TELEPHONE_NUMBER_TELEPHONE_NUMBERS ...OK 
DEBUG 2015-07-03 00:11:25,427 [main] org.jetel.graph.Phase:  FOREACH_TELEPHONE_NUMBER_TELEPHONE_NUMBERS1 ...OK 
DEBUG 2015-07-03 00:11:25,481 [main] org.jetel.graph.Phase:  XML_READER0 ...OK 
INFO 2015-07-03 00:11:25,482 [main] org.jetel.graph.Phase: Phase 0 initialized successfully. 

ответ

0

Попробуйте увеличить размер трубы в DataMapper (где вы включили потоковое, может см. другую вкладку «Размер трубы»). По умолчанию это «2048», вы можете увеличить размер трубы и проверить.

+0

hi @star, здесь говорится о документе о 'pipe size' В поле ввода размера трубы введите желаемый размер кеша. Значение по умолчанию - 2048. При работе с файлами значение размера трубы выражается в байтах. При работе с коллекциями значение выражается в количестве элементов коллекции. ----- что я думаю, так как я сопоставляюсь с коллекцией Pojos, увеличение добавит нагрузку на datamapper ?? Обновлено: я увеличил размер трубы до 2048000, не помог, там же проблема –

+0

Прохладный !! Я был заранее принят (отредактировал мой ответ). Попытайтесь увеличить размер трубы на основе вашей полезной нагрузки, которую вы используете (файлы или коллекции). Даже я столкнулся с такой же проблемой, когда запускал огромную полезную нагрузку, так же решался. – star

+0

Если нагрузки больше, вы можете использовать пакетную область для ее разработки. – star