同步不会覆盖目标目录更改

2020-09-18 13:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们有一个业务需求,我们需要自定...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们有一个业务需求,我们需要自定义同步过程。 我们遵循以下步骤:** https://wiki.hybris.com/display/forum/Customize+sync+process+to+modify+attribute+copy+processing**。

如果我们对"源"目录进行更改,那么一切都会正常运行。 但是只要目标目录中发生更改并且我们运行同步,目标目录就不会被源目录覆盖。

我们在定制同步时遵循的步骤是:

  1. 创建了一个CustomSyncJob项,扩展了'CatalogVersionSyncJob'

  2. 扩展了CustomSyncJob的生成Jalo,即GeneratedCustomSyncJob。

  3. 重写createCopyContext()方法以调用我们自己的称为" MyCopyContext"的副本上下文。

  4. 'MyCopyContext'类具有一个构造函数,该构造函数调用super()以及从SyncJob获取国家/地区的逻辑。

  5. 在同一类'MyCopyContext'中,我们将重写finishCopying()方法,该方法具有自定义逻辑,可以根据在步骤4中获取的国家/地区来修改目标项目。

在通过OOTB Hybris同步进行调试时,我们分析了每次进行同步时都会创建调度媒体,并且基于此" CatalogVersionSyncScheduleMedia",同步知道在目标目录中要更新/删除的内容。

问题是,当仅目标目录发生更改时,计划介质没有应有的这些更改的条目,因此目标目录中没有任何更改。

我不知道这是一个限制,如果我们自定义同步过程,或者我们需要重写任何其他方法才能使它工作。

我们还通过普通的CronJob运行SyncJob,这些CronJob获取SyncJob并启动它们。 但是在启动之前,我们将SyncJob的日程表媒体设置为" null",以便每次运行时都会创建一个新的日程表媒体。