在 Hybris PrepareInterceptor 中导入 impex 时启动 EventService

问题描述

我必须导入一个包含 3 个字符串和一个布尔值的 Impex。逻辑是这样的,如果该布尔字段为真,那么在我的 PrepareInterceptor 中,我将采用这些值,并尝试使用 publishEvent() 方法启动我的自定义事件。我的活动很好,因为我在另一个地方使用它,但我的问题是下一个。在我开始调试以查看问题所在后,我看到当我到达 publishEvent() 所在的行时,事件不会触发。究竟是什么问题?谢谢!

解决方法

如果您在事件中获取站点为空,请尝试实现自定义逻辑以在当前事件对象上设置站点。

CMSSiteService--->getCurrentSite()

,

cron 作业会话上下文不与任何基本站点相关联,因此在导入 impex 时它可能为空。在您的事件侦听器中,如果基站点为空,请尝试设置它;

youreventlistener.class

@Resource
private BaseSiteService baseSiteService;

    if(baseSiteService.getCurrentBaseSite() == null) {
        baseSiteService.setCurrentBaseSite("yourSiteName",true);
    }