语言不会在不同线程中保持默认状态。

2020-09-22 03:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好专家 我遇到有关在单独线程...

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

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


您好专家

我遇到有关在单独线程的情况下将语言切换为法语的问题。 实例1:我正在从SOAP请求发送数据并将其保存在hybris DB中。 默认语言为英语,应作为显示所有错误消息的语言环境。 相反,消息有时是用法语发送的。 实例2:在从hybris向第三方(出站)发送数据时,如果我尝试从hybris中获取某些数据而没有给出语言环境,则应使用默认语言环境英语,而应使用法语。 我相信,这与语言环境或会话语言不是线程安全有关。 欢迎对此有任何帮助。

3条回答
me_for_i
2020-09-22 04:17

您必须在会话中运行逻辑,并设置所需的语言。

 会话会话= null;
  尝试{
      session = getSessionService()。createNewSession();
      getSessionService()。setAttribute(I18NConstants.LANGUAGE_SESSION_ATTR_KEY,getYourLanguage());
      getUserService()。setCurrentUser(getUserWhoToExecuteLogic());
 
      ...
 
  } catch(最终Throwable e){
      LOG.error(message,e);
  }最后{
      尝试{
          if(session!= null){
              getSessionService()。closeSession(session);
          }
      } catch(最终Throwable e){
          LOG.error("错误关闭会话",e);
      }
  }

  

一周热门 更多>