Я работаю с Mule EE 3.5.2, пытаясь поток полезной нагрузки через:Mule DataMapper Streaming висит навсегда
Http запрос-ответ конечная точка, которая имеет тип содержимого в приложения/XML и вывод в типа ReleasingInputStream
поток данных в потоке DataMapper (включен), отображение из XML в коллекцию
затем использовать для каждой области, чтобы обработать каждый элемент Pojo, используя JAXB processcor, чтобы превратить их в индивидуальный XML
отправить каждый 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.
hi @star, здесь говорится о документе о 'pipe size' В поле ввода размера трубы введите желаемый размер кеша. Значение по умолчанию - 2048. При работе с файлами значение размера трубы выражается в байтах. При работе с коллекциями значение выражается в количестве элементов коллекции. ----- что я думаю, так как я сопоставляюсь с коллекцией Pojos, увеличение добавит нагрузку на datamapper ?? Обновлено: я увеличил размер трубы до 2048000, не помог, там же проблема –
Прохладный !! Я был заранее принят (отредактировал мой ответ). Попытайтесь увеличить размер трубы на основе вашей полезной нагрузки, которую вы используете (файлы или коллекции). Даже я столкнулся с такой же проблемой, когда запускал огромную полезную нагрузку, так же решался. – star
Если нагрузки больше, вы можете использовать пакетную область для ее разработки. – star