点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
Hybris B2C1811。在几个cms组件上添加了限制(CMSInverseRestriction)之后,内容目录的同步持续3-10个小时。 如果我们取消限制,则同步将持续30秒。
我们没有太多受限制的cms组件,大约有20个。
我们试图在一个线程和#cores * 2个线程中执行-结果是相同的。
Impex示例:
INSERT_UPDATE CMSInverseRestriction; uid [unique = true]; 名称; originalRestriction(uid,$ contentCV); $ contentCV [unique = true]
;我们的限制; ourRestriction; ourOriginalRestriction;
更新CMSParagraphComponent; $ contentCV [unique = true]; uid [unique = true]; content [lang = zh]; 限制(uid,$ contentCV)
; ; ourCmsComponent; " ";我们的限制
有人可以建议为什么会这样吗?
Maxim,
这取决于多个因素,例如-
您要达到的同步级别- 如果仅是组件级别,则仅所选组件将被同步。 如果它位于页面级别,则它将尝试同步页面元数据(例如页面名称和页面标题),限制,内容插槽和组件(页面所使用的共享内容插槽除外)。 如果是Content Catalog版本,那么显然它会花费更长的时间来尝试同步组件,内容插槽,共享内容插槽,页面元数据,限制,页面模板和导航节点。如果您的页面具有导航组件,则其关联的导航 节点也将同步。
取决于同步策略-像简单类型一样容易。 它们的值将复制到目标项目中。 不知道目录版本的项目引用也很容易,因为将复制引用项目的主键(PK)值。 在某些情况下,会有一些属性是可识别目录的项目引用。 这意味着同步不能简单地复制PK值,因为需要一个对应的目标项目。
请检查CatalogVersionSyncJob.checkCatalogVersionValidity(),因为它会在开始实际同步之前对每种根类型执行重复检查,以确保目录版本的正确状态。 在大数据集上,这是一个昂贵的查询。 如果具有唯一的数据库索引,则这些重复检查的SQL查询是多余的,并且会在数据库上造成不必要的负载,尤其是在大型目录中。 在这种情况下,可以覆盖默认的CatalogVersionSyncJob实现以将其禁用。
希望您只有一个源目录。
您好Prashant,
谢谢您的回答。
在后台运行的同步过程在强制更新模式下工作,因此它将更新所有cms组件。 当我们使用cms限制时,这是一个问题。 对于每个cms组件,都会构建相关组件的图形。 如果组件具有cms限制,则也会复制该组件。 每个cms限制在"组件"字段中都有相关组件的列表。 此列表中的每个组件也会被更新。 由于我们运行了完全同步,因此启用了forceUpdate模式,并且我们从限制的字段"组件"中更新每个组件很多次(对于每个有限制的组件)。
为避免此问题,我在字段的blackList中添加了字段" components"以拒绝同步此相关组件。
它看起来像这样:
仅更新cms限制时可能会带来问题。 在这种情况下,如果您在SmartEdit中更新内容目录,它将不会更新相关组件。 但对于我们的情况来说,它是合适的,因为我们可以在这种情况下使用完全同步。
一周热门 更多>