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

2020-09-22 03:39发布

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

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


您好专家

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

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

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


您好专家

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

付费偷看设置
发送
3条回答
me_for_i
1楼-- · 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);
      }
  }

  
葫芦娃快救爷爷
2楼-- · 2020-09-22 04:33

在上述情况下,应该显式传递语言环境,或者通过JaloSession.getCurrentSession()。getSessionContext()。getLocale()来选择语言环境。

有人可以帮我弄清楚为什么当前语言环境在某些情况下是法语,而在其他情况下是英语。 谢谢

我是小鹏鹏啊
3楼-- · 2020-09-22 04:30

您好,Anjali,您能分享一下您发现的内容吗-为什么有时是英语,有时是法语? 谢谢!

一周热门 更多>