Я изучаю mule4, и, пытаясь выполнить scatter-gather, я столкнулся с проблемой.
В задаче сбора разброса есть 3 потока, 2 из этих потоков возвращают допустимую полезную нагрузку с данными, а 3-й поток возвращает пустую полезную нагрузку.
таким образом, когда я пытаюсь сгладить эти 3 результата, я сталкиваюсь с проблемой нулевого указателя. Я не могу найти способ справиться с этим. кто-нибудь может помочь, пожалуйста.
Мое выражение dataweave показано ниже
%dw 2.0
output application/java
---
flatten(payload..payload)
журналы
ERROR 2018-10-27 07:10:00,249 [[MuleRuntime].cpuLight.06: [apdev-flights-ws].getAllFlightsFlow.CPU_LITE @5abc6c4c] [event: ] org.mule.runtime.core.internal.exception.OnErrorPropagateHandler:
********************************************************************************
Message : "Unexpected end-of-input at payload@[1:1] (line:column), expected false or true or null or {...} or [...] or number but was , while reading `payload`as Json.
1|
^" evaluating expression: "%dw 2.0
output application/java
---
flatten(payload..payload) ".
Error type : MULE:EXPRESSION
Element : getAllFlightsFlow/processors/2 @ apdev-flights-ws:implementation.xml:102 (Flatten)
Element XML : <ee:transform doc:name = "Flatten" doc:id = "46245fd1-5ebd-4b16-b83e-31ea4dbb53e8">
<ee:message>
<ee:set-payload>%dw 2.0
output application/java
---
flatten(payload..payload)</ee:set-payload>
</ee:message>
</ee:transform>
(set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
INFO 2018-10-27 07:10:00,323 [[MuleRuntime].cpuLight.06: [apdev-flights-ws].getAllFlightsFlow.CPU_LITE @5abc6c4c] [event: ] org.mule.runtime.core.internal.context.notification.Policy: NotificationListener com.mulesoft.mule.debugger.server.DebuggerPipelineMessageNotificationListener@20d9c50f was unable to fire notification PipelineMessageNotification{action=pipeline process complete, resourceId=getAllFlightsFlow, serverId=de-PC..apdev-flights-ws, timestamp=1540604400323} due to an exception: java.lang.NullPointerException.
Я считаю, что вас сбивает звонок payload..payload
. Если вы хотите сгладить полезную нагрузку, это должно быть просто:
%dw 2.0
output application/java
---
flatten(payload)