Interface OutboundSyncConfiguration

All Known Implementing Classes:
DefaultOutboundSyncConfiguration

public interface OutboundSyncConfiguration
Configuration parameters for the outbound sync.
  • Field Details

    • DEFAULT_OUTBOUNDSYNC_CRONJOBMODEL_SEARCH_SLEEP_MILLIS

      static final int DEFAULT_OUTBOUNDSYNC_CRONJOBMODEL_SEARCH_SLEEP_MILLIS
      See Also:
    • DEFAULT_OUTBOUNDSYNC_BATCH_LIMIT

      static final int DEFAULT_OUTBOUNDSYNC_BATCH_LIMIT
      See Also:
    • DEFAULT_OUTBOUNDSYNC_BATCH_RELEASE_TIMEOUT

      static final int DEFAULT_OUTBOUNDSYNC_BATCH_RELEASE_TIMEOUT
      See Also:
  • Method Details

    • isInfoGenerationEnabledForStream

      default boolean isInfoGenerationEnabledForStream(OutboundSyncStreamConfigurationModel streamConfig)
      Determines the ids for the OutboundSyncStreamConfigurations that will be excluded from infoExpression auto-generating.
      Parameters:
      streamConfig - OutboundSyncStreamConfigurationModel
      Returns:
      a boolean indicating if a stream should have its infoExpression autogenerated
    • getMaxOutboundSyncRetries

      int getMaxOutboundSyncRetries()
      Determines the max number of retry attempts allowed by the system after the initial synchronization attempt.
      Returns:
      number of times a failed item change synchronization will be reattempted.
    • getItemGroupSizeMax

      int getItemGroupSizeMax()
      Determines maximum number of item changes accumulated during the grouping period before initiating the item change synchronization. Once this number of changes is achieved, the synchronization will start even, if the elapsed time for grouping is less than getItemGroupingTimeout().
      Returns:
      maximum number of changes grouped together for a single synchronization.
      See Also:
    • getItemGroupingTimeout

      int getItemGroupingTimeout()
      Determines time through which changes to the same item will be treated as a single change. This helps with some optimization for sending changes to the destination. For example, if a single Order is created with 10 OrderLines, we will have 11 changes for the order and, if this value is set to 0, the Order will be sent 11 times to the destination. But, if this value is greater than zero, than outbound synchronization will expect more changes and won't send each change individually. Only after this time elapsed all the item changes will be grouped together and send as a single change.
      Returns:
      time in milliseconds to accumulate changes for an item before synchronizing them to the destination.
      See Also:
    • getOutboundBatchLimit

      default int getOutboundBatchLimit()
      Determines the max number of outbound sync changes that are sent as a batch request. The corresponding OutboundChannelConfigurationModel.getBatch() should be true to enable batch request.
      Returns:
      max number of outbound sync changes one batch request can contain.
    • getOutboundBatchReleaseTimeout

      default int getOutboundBatchReleaseTimeout()
      Timeout for the release of batch aggregation
      Returns:
      Milliseconds for the batch release aggregation timeout
    • getOutboundSyncCronjobModelSearchSleep

      default int getOutboundSyncCronjobModelSearchSleep()
      Determines the sleep time in milliseconds to force OutboundSyncJobRegister to wait a small amount of time before searching for the OutboundSyncCronjobModel model before updating it to prevent a potential race condition.
      Returns:
      time in milliseconds to force OutboundSyncJobRegister to wait before searching for the OutboundSyncCronjobModel