模型保存期间的多线程

2020-09-05 01:28发布

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

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


嗨,

如果模型是由两个具有不同属性的不同线程更新的。 例如,从OCC服务调用一个线程以更新模型,例如从电子邮件中调用另一个线程尝试同时更新同一模型。 我们如何确保两个模型正确地更新其数据,而又不会在上下文中丢失其他更新的数据。

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

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


嗨,

如果模型是由两个具有不同属性的不同线程更新的。 例如,从OCC服务调用一个线程以更新模型,例如从电子邮件中调用另一个线程尝试同时更新同一模型。 我们如何确保两个模型正确地更新其数据,而又不会在上下文中丢失其他更新的数据。

付费偷看设置
发送
3条回答
Baoming ROSE
1楼-- · 2020-09-05 02:28

请注意,模型不是线程安全的。 如果模型由多个线程处理,则可以使用 SessionService 同步对设置器的访问。

模型不是线程安全的,模型上下文是线程本地的,因此您会遇到问题。

由于Model上下文仅绑定到Hybris Request Scope,与标准请求范围相似,但仅属于单个线程,因此我们可以说model Context仅是单线程而model是线程本地的,因此我们应该进行同步 访问设置器。

请参阅链接以获取更多详细信息:

https://wiki.hybris.com/display/release5/Models

如果我们要将模型传递给不同的线程(例如,通过使用SessionService),请确保两个模型都正确更新其数据,而又不会丢失其他更新的数据。在这种情况下,您应该同步对setter的访问。

# p #
灬番茄
3楼-- · 2020-09-05 02:19

您可以使用 ModelService lock(PK itemPK)方法。

一周热门 更多>