在 Hybris PrepareInterceptor 中导入 impex 时启动 EventService

Start EventService when import impex in Hybris PrepareInterceptor

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

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

CMSSiteService--->getCurrentSite()

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

youreventlistener.class

@Resource
private BaseSiteService baseSiteService;

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