问题描述
我必须导入一个包含 3 个字符串和一个布尔值的 Impex。逻辑是这样的,如果该布尔字段为真,那么在我的 PrepareInterceptor 中,我将采用这些值,并尝试使用 publishEvent() 方法启动我的自定义事件。我的活动很好,因为我在另一个地方使用它,但我的问题是下一个。在我开始调试以查看问题所在后,我看到当我到达 publishEvent() 所在的行时,事件不会触发。究竟是什么问题?谢谢!
解决方法
如果您在事件中获取站点为空,请尝试实现自定义逻辑以在当前事件对象上设置站点。
CMSSiteService--->getCurrentSite()
,cron 作业会话上下文不与任何基本站点相关联,因此在导入 impex 时它可能为空。在您的事件侦听器中,如果基站点为空,请尝试设置它;
youreventlistener.class
@Resource
private BaseSiteService baseSiteService;
if(baseSiteService.getCurrentBaseSite() == null) {
baseSiteService.setCurrentBaseSite("yourSiteName",true);
}