从Hybris 6.5升级到6.6的问题

2020-09-24 19:25发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)当我刚从Hybris 6.5升级...

         点击此处--->   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条回答
My梦
2020-09-24 19:59

我找到了解决方案,需要进行更新 与可以执行索引任务的用户相关的SolrServerConfig的属性:

  INSERT_UPDATE SolrServerConfig; 名称[unique = true];模式(代码);用户名;密码; indexingUsername; indexingPassword;  ; $ serverConfigName; standalone; solrclient; client123;  solrindexingclient; indexingclient123;


  

一周热门 更多>