Skip to main content

#40 utenti parlano di questo argomento

I have a for-each loop which iterates over an array say: [1,2,3,4]

Now I want to break the loop when the item 3 matches and come outside of the loop. How can i do so in for-each loop.

4 risposte
  1. 30 apr 2020, 14:23

    I am giving the complete flow. It worked for me.

     

    <?xml version="1.0" encoding="UTF-8"?>

     

    <mule xmlns:validation="http://www.mulesoft.org/schema/mule/validation"

    xmlns:http="http://www.mulesoft.org/schema/mule/http"

    xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="

    http://www.mulesoft.org/schema/mule/validation http://www.mulesoft.org/schema/mule/validation/current/mule-validation.xsd

    http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">

    <http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="16bff704-f442-4af7-9ca9-2d382b2fa239" >

    <http:listener-connection host="0.0.0.0" port="8081" />

    </http:listener-config>

    <flow name="dummyJsonry" doc:id="4872e422-0770-4e46-a12e-589541914728" >

    <http:listener doc:name="Listener" doc:id="b256e8b7-a86c-4b7a-a78f-5acc8653612c" path="/test" config-ref="HTTP_Listener_config"/>

    <set-payload value='#[[1,2,3,4,5,6]]' doc:name="Set Payload" doc:id="83e3c1a8-a2ea-4b66-b4dd-0a1178f4c437" />

    <set-variable value="#[4]" doc:name="Set Variable" doc:id="e218b958-b59c-43a7-a544-8c47b6ff0db4" variableName="check"/>

    <try doc:name="Try" doc:id="4b522fd6-78ca-4e27-bb7e-6340146d9c65">

    <foreach doc:name="For Each" doc:id="ef1daa42-874a-4ee3-a45b-cb1c0710f477" collection="#payload">

    <validation:is-true doc:name="Is true" doc:id="fd703bcb-6057-4967-b062-0d9f934fd7a5" expression="#[(payload as Number) &lt; (vars.check as Number)]" message="I Got it"/>

    <logger level="INFO" doc:name="Logger" doc:id="121a6b65-0ab4-4ace-8642-8bb5c4e8e42a" message="My Checkpoint : #payload"/>

    </foreach>

    <error-handler >

    <on-error-continue enableNotifications="true" logException="true" doc:name="On Error Continue" doc:id="319cdd00-f462-4cb9-a57a-e2c348ef66b1" >

    <logger level="INFO" doc:name="Logger" doc:id="1306628d-de11-4ebc-abac-0a097354eb25" message="check2: #payload"/>

    </on-error-continue>

    </error-handler>

    </try>

    </flow>

    </mule>

    Logs in My Console:

    INFO 2020-04-30 19:51:40,054 [[MuleRuntime].cpuLight.14: [check1].dummyJsonry.CPU_LITE @75c166fa] [event: e86002f1-8aed-11ea-a6aa-1e1bb5370438] org.mule.runtime.core.internal.processor.LoggerMessageProcessor: My Checkpoint : 1

    INFO 2020-04-30 19:51:40,056 [[MuleRuntime].cpuLight.14: [check1].dummyJsonry.CPU_LITE @75c166fa] [event: e86002f1-8aed-11ea-a6aa-1e1bb5370438] org.mule.runtime.core.internal.processor.LoggerMessageProcessor: My Checkpoint : 2

    INFO 2020-04-30 19:51:40,059 [[MuleRuntime].cpuLight.14: [check1].dummyJsonry.CPU_LITE @75c166fa] [event: e86002f1-8aed-11ea-a6aa-1e1bb5370438] org.mule.runtime.core.internal.processor.LoggerMessageProcessor: My Checkpoint : 3

    ERROR 2020-04-30 19:51:40,073 [[MuleRuntime].cpuLight.14: [check1].dummyJsonry.CPU_LITE @75c166fa] [event: e86002f1-8aed-11ea-a6aa-1e1bb5370438] org.mule.runtime.core.internal.exception.OnErrorContinueHandler:

    ********************************************************************************

    Message : I Got it.

    Error type : VALIDATION:INVALID_BOOLEAN

    Element : dummyJsonry/processors/2/processors/0/processors/0 @ check1:check1.xml:19 (Is true)

    Element XML : <validation:is-true doc:name="Is true" doc:id="fd703bcb-6057-4967-b062-0d9f934fd7a5" expression="#[(payload as Number) < (vars.check as Number)]" message="I Got it"></validation:is-true>

     

    (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)

    ********************************************************************************

     

    INFO 2020-04-30 19:51:40,073 [[MuleRuntime].cpuLight.14: [check1].dummyJsonry.CPU_LITE @75c166fa] [event: e86002f1-8aed-11ea-a6aa-1e1bb5370438] org.mule.runtime.core.internal.processor.LoggerMessageProcessor: check2: #payload

    Regards,

     

    Lalit Panwar

0/9000