JMS侦听器-DefaultSessionService.getOrBindSession(DefaultSessionService.java:218)上的NullPointerException

2020-09-15 14:35发布

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

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


专家们,

我在JMS侦听器中遇到了Jalosession的问题。 我想在onMessage方法中创建并保存模型。 日志:

  java.lang.NullPointerException
          在de.hybris.platform.servicelayer.session.impl.DefaultSessionService.getOrBindSession(DefaultSessionService.java:218)〜[coreserver.jar :?]
          在de.hybris.platform.servicelayer.session.impl.DefaultSessionService.getCurrentSession(DefaultSessionService.java:53)〜[coreserver.jar :?]
          在de.hybris.platform.servicelayer.session.impl.DefaultSessionService.getAttribute(DefaultSessionService.java:180)〜[coreserver.jar :?]
          在de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.isTransactional(DefaultModelService.java:1084)〜[coreserver.jar :?]
          在de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.save(DefaultModelService.java:634)〜[coreserver.jar :?]
          在my.package.listeners.MyListener.onMessage(MyListener.java:87)〜[classes/:?]

  

关于如何使其工作的任何想法?

编辑:我使用了一种解决方法使其工作:

  this.modelService =(ModelService)Registry.getApplicationContext()。getBean(" modelService");
  

但是我必须在onMessage方法中使用它,因此它看起来很丑且不是最佳的。 任何更好的想法将不胜感激;)

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

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


专家们,

我在JMS侦听器中遇到了Jalosession的问题。 我想在onMessage方法中创建并保存模型。 日志:

  java.lang.NullPointerException
          在de.hybris.platform.servicelayer.session.impl.DefaultSessionService.getOrBindSession(DefaultSessionService.java:218)〜[coreserver.jar :?]
          在de.hybris.platform.servicelayer.session.impl.DefaultSessionService.getCurrentSession(DefaultSessionService.java:53)〜[coreserver.jar :?]
          在de.hybris.platform.servicelayer.session.impl.DefaultSessionService.getAttribute(DefaultSessionService.java:180)〜[coreserver.jar :?]
          在de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.isTransactional(DefaultModelService.java:1084)〜[coreserver.jar :?]
          在de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.save(DefaultModelService.java:634)〜[coreserver.jar :?]
          在my.package.listeners.MyListener.onMessage(MyListener.java:87)〜[classes/:?]

  

关于如何使其工作的任何想法?

编辑:我使用了一种解决方法使其工作:

  this.modelService =(ModelService)Registry.getApplicationContext()。getBean(" modelService");
  

但是我必须在onMessage方法中使用它,因此它看起来很丑且不是最佳的。 任何更好的想法将不胜感激;)

付费偷看设置
发送
3条回答
Alawn_Xu
1楼-- · 2020-09-15 14:57

不起作用的原因是因为这里没有Jalo会话可用。 与Storefront或Webservices不同,侦听器是一个独立程序。 您可以创建一个会话。 可以解决问题

例如,

 会话localSession = getSessionService()。createNewSession();

  

并在finally块中。 关闭会议

  getSessionService()。closeSession(localSession);


  
奄奄一息的小鱼
2楼-- · 2020-09-15 14:58

可以共享链接。我也遇到相同的问题

如果上述解决方案不起作用,请阅读此内容链接文本。 通过在local.properties中添加 installed.tenants = 清除所有不需要的租户,对我来说很有效。

一周热门 更多>