从Hybris 6.5升级到6.6的问题

2020-09-24 19:25发布

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

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


当我刚从Hybris 6.5升级到Hybris 6.6时,Solr无法启动。 调试时,我在AbstractSolrServerController中看到您已添加身份验证支持。

我们现在是否需要对solrServer进行身份验证,因为如果没有,它会尝试在此处进行其他情况:

  if(" basic" .equalsIgnoreCase(authType)&& StringUtils.isNotBlank(user)&& StringUtils.isNotBlank(password)){
              processBuilder.environment()。put(" SOLR_AUTH_TYPE",authType);
              processBuilder.environment()。put(" SOLR_AUTHENTICATION_OPTS"," -Dbasicauth =" +用户+":" +密码);
          }其他{
              processBuilder.environment()。put(" SOLR_AUTH_TYPE",(对象)为空);
              processBuilder.environment()。put(" SOLR_AUTHENTICATION_OPTS",(对象)为空);
          }

  

因此它运行带有null的put,这将依次执行以下操作:

 公共字符串put(String var1,String var2){
          返回(String)super.put(validateName(var1),validateValue(var2));
      }

  

请注意var2上的validateValue方法。 它不是null安全的,但如果我们未设置任何solr身份验证,则您将传递null:

 私有静态字符串validateValue(String var0){
          如果(var0.indexOf(0)!= -1){
              抛出新的IllegalArgumentException("无效的环境变量值:\"" + var0 +" \"");
          }其他{
              返回var0;
          }
      }

  

因此,由于我们没有进行任何身份验证,因此它尝试对null进行indexOf,从而抛出nullpointer异常。 所以....在Hybris 6.6中,您需要设置solr身份验证吗? 还是我错过了什么?

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

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


当我刚从Hybris 6.5升级到Hybris 6.6时,Solr无法启动。 调试时,我在AbstractSolrServerController中看到您已添加身份验证支持。

我们现在是否需要对solrServer进行身份验证,因为如果没有,它会尝试在此处进行其他情况:

  if(" basic" .equalsIgnoreCase(authType)&& StringUtils.isNotBlank(user)&& StringUtils.isNotBlank(password)){
              processBuilder.environment()。put(" SOLR_AUTH_TYPE",authType);
              processBuilder.environment()。put(" SOLR_AUTHENTICATION_OPTS"," -Dbasicauth =" +用户+":" +密码);
          }其他{
              processBuilder.environment()。put(" SOLR_AUTH_TYPE",(对象)为空);
              processBuilder.environment()。put(" SOLR_AUTHENTICATION_OPTS",(对象)为空);
          }

  

因此它运行带有null的put,这将依次执行以下操作:

 公共字符串put(String var1,String var2){
          返回(String)super.put(validateName(var1),validateValue(var2));
      }

  

请注意var2上的validateValue方法。 它不是null安全的,但如果我们未设置任何solr身份验证,则您将传递null:

 私有静态字符串validateValue(String var0){
          如果(var0.indexOf(0)!= -1){
              抛出新的IllegalArgumentException("无效的环境变量值:\"" + var0 +" \"");
          }其他{
              返回var0;
          }
      }

  

因此,由于我们没有进行任何身份验证,因此它尝试对null进行indexOf,从而抛出nullpointer异常。 所以....在Hybris 6.6中,您需要设置solr身份验证吗? 还是我错过了什么?

付费偷看设置
发送
8条回答
黑丝骑士
1楼 · 2020-09-24 20:21.采纳回答

此问题已在Hybris 6.7中修复。 考虑到问题已解决。

CPLASF-自律
2楼-- · 2020-09-24 20:18

您好,古斯塔夫,您找到解决此问题的方法了吗? 谢谢!

一周热门 更多>