<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<entity-engine-xml>
    <JobSandbox jobId="8200" jobName="Clear EntitySyncRemove Info" runTime="2000-01-01 00:00:00.000" serviceName="cleanSyncRemoveInfo" poolId="pool" runAsUser="system" tempExprId="MIDNIGHT_DAILY" maxRecurrenceCount="-1"/>

    <!-- EntitySync example, with Job demo -->
    <!-- Increased default split time to 10 minutes (600000 seconds) instead of 10 seconds, for demonstrations and normal
        testing this should perform MUCH better; for busy sites this should be reduced closer to something like 10 seconds;
        the point is to find a balance between the time required for the queries and the amount of data sent over the wire per call -->
    <EntitySync entitySyncId="1500" runStatusId="ESR_NOT_STARTED" syncSplitMillis="600000" targetServiceName="remoteStoreEntitySyncDataRmi" keepRemoveInfoHours="24" forPushOnly="Y"/>
    <EntitySyncInclude entitySyncId="1500" entityOrPackage="ServerHit" applEnumId="ESIA_EXCLUDE"/>
    <EntitySyncInclude entitySyncId="1500" entityOrPackage="ServerHitBin" applEnumId="ESIA_EXCLUDE"/>
    <EntitySyncInclude entitySyncId="1500" entityOrPackage="org.ofbiz.service" applEnumId="ESIA_EXCLUDE"/>
    <EntitySyncInclude entitySyncId="1500" entityOrPackage="org.ofbiz.entity" applEnumId="ESIA_EXCLUDE"/>
    <EntitySyncInclude entitySyncId="1500" entityOrPackage="org.ofbiz." applEnumId="ESIA_INCLUDE"/>
    <!--
        <RecurrenceRule recurrenceRuleId="1500" untilDateTime="" frequency="MINUTELY" intervalNumber="2" countNumber="-1"/>
        <RecurrenceInfo recurrenceInfoId="1500" startDateTime="2000-01-01 00:00:00.000" recurrenceRuleId="1500" recurrenceCount="0"/>
        <RuntimeData runtimeDataId="1500">
            <runtimeInfo><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
    <ofbiz-ser>
      <map-HashMap>
        <map-Entry>
          <map-Key>
            <std-String value="entitySyncId"/>
          </map-Key>
          <map-Value>
            <std-String value="1500"/>
          </map-Value>
        </map-Entry>
      </map-HashMap>
    </ofbiz-ser>
            ]]></runtimeInfo>
        </RuntimeData>
        <JobSandbox jobName="Run Demo EntitySync" runtimeDataId="1500" runTime="2000-01-01 00:00:00.000" serviceName="runEntitySync" poolId="pool" runAsUser="system" recurrenceInfoId="1500"/>
    -->
</entity-engine-xml>
