从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条回答

嗨安吉洛,

在执行impex更新这些字段之前,我已修复所有启动错误。

另一种选择是更新数据库中表solrserverconfig中的新字段,问题是这些属性已编码。

一周热门 更多>