Salesforce Records Are Being Created an Endless Amount of Times in Mule 4

68 Views Asked by At

I am trying to create records in Salesforce using a CSV file in Mule 4. However, after the first batch is created successfully, instead of ending the program, Mule goes back and creates the same batches an infinite amount of times.

How do I get Mule to stop after the first batch is created? Here is my code:

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

<mule xmlns:batch="http://www.mulesoft.org/schema/mule/batch" xmlns:db="http://www.mulesoft.org/schema/mule/db"
xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:file="http://www.mulesoft.org/schema/mule/file" 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/core 
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/salesforce 
http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd
http://www.mulesoft.org/schema/mule/db http://www.mulesoft.org/schema/mule/db/current/mule-db.xsd
http://www.mulesoft.org/schema/mule/batch http://www.mulesoft.org/schema/mule/batch/current/mule-batch.xsd">
<salesforce:sfdc-config name="Salesforce_Config" doc:name="Salesforce Config" doc:id="8e29192b-953e-499f-a34b-584b34bd6e9c" >
    <salesforce:basic-connection username="[email protected]" password="1luvL!zzy" securityToken="6QgMUnwuaNM9rgX5HQbiwIdv" url="https://vha-gov--ohrsdev2.my.salesforce.com/services/Soap/u/48.0" />
</salesforce:sfdc-config>
<flow name="addendumFlow" doc:id="4df7a2c4-3d56-4e00-a65a-62f579f43880" >
    <file:listener doc:name="On New or Updated File" doc:id="7ea260b4-02a9-429c-82a9-87cf924c6ef1" directory="C:\Users\GregoryPalios\AnypointStudio\studio-workspace\legacyohrstestmigration\Table Files\ADDENDUM">
        <scheduling-strategy >
            <fixed-frequency />
        </scheduling-strategy>
    </file:listener>
    <ee:transform doc:name="Transform Message" doc:id="93744a3d-5945-4688-af87-afaf90677469">
        <ee:message>
            <ee:set-payload><![CDATA[%dw 2.0
output application/java
---
[payload map{
    ADDENDUM_ID__c: $.ADDENDUM_ID as Number,
    ENCOUNTER_ID__c: $.ENCOUNTER_ID as Number,
    OH_STD_ENCOUNTER_STATUS_ID__c: $.OH_STD_ENCOUNTER_STATUS_ID as Number,
    NOTE__c: $.NOTE,
    ADDENDUM_DESCRIPTION__c: $.ADDENDUM_DESCRIPTION,
    VIEWED_DATE__c: $.VIEWED_DATE,
    VIEWED_DATE_TZ__c: $.VIEWED_DATE_TZ,
    DELETED_DATE__c: $.DELETED_DATE,
    DELETED_DATE_TZ__c: $.DELETED_DATE_TZ,
    DELETED_BY__c: $.DELETED_BY,
    CO_SIGNATURE_REQUIRED_IND__c: $.CO_SIGNATURE_REQUIRED_IND,
    CO_SIGNER_ACTIVE_DIRECTORY_NAME__c: $.CO_SIGNER_ACTIVE_DIRECTORY_NAME,
    ADMIN_LEVEL__c: $.ADMIN_LEVEL,
    RECORD_CREATED_BY__c: $.RECORD_CREATED_BY,
    RECORD_CREATED_DATE__c: $.RECORD_CREATED_DATE,
    RECORD_MODIFIED_BY__c: $.RECORD_MODIFIED_BY,
    RECORD_MODIFIED_DATE__c: $.RECORD_MODIFIED_DATE,
    RECORD_MODIFIED_COUNT__c: $.RECORD_MODIFIED_COUNT as Number,
    RECORD_CREATED_DATE_TZ__c: $.RECORD_CREATED_DATE_TZ,
    RECORD_MODIFIED_DATE_TZ__c: $.RECORD_MODIFIED_DATE_TZ,
    OH_STD_INACTIVE_ACTIVITY_REASON_ID__c: $.OH_STD_INACTIVE_ACTIVITY_REASON_ID as Number
}]]]></ee:set-payload>
        </ee:message>
    </ee:transform>
    <foreach doc:name="For Each" doc:id="9ab8acaf-988e-4a02-bb72-3150f9688a4a" >
        <salesforce:create doc:name="Create" doc:id="2865a2fd-2559-401e-a365-93950717d3a7" config-ref="Salesforce_Config" type="ADDENDUM__c" />
    </foreach>
</flow>
1

There are 1 best solutions below

1
On BEST ANSWER

In your file listener, you need to set the autoDelete to "true" or move the file to a backup director other than the directory you are listening to.

You can also enable watermarking so file will not be picked up again and again.