IndexerException:无法使用PK 8796132245505索引项目:没有可用的名为'enumValueResolver'的bean

2020-09-14 00:58发布

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

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


你好,我从6.5升级到6.6,我无法浏览后台的类型,因为它说它需要索引,但是当我进入后台到"搜索和导航-> Facet搜索配置-> Solr配置"时, for Backoffice",并尝试进行完整索引,则出现异常

我看不到该bean是怎么丢失的,因为它位于platformbackoffice中,当我启动hybris时,它将显示在日志的开头...

我还尝试调试弹簧代码(DefaultListableBeanFactory.getBeanDefinition),发现在查找此bean时的上下文中只有64个bean可用! 而且它们只能来自代码和solrserver。 在其他时间在同一位置搜索bean时,它有4000多个bean,有时是200多个bean,因此看起来我们有很多不同的上下文?

无论如何,请对这里的任何提示表示感谢,我已经尝试了多次更新,但没有帮助。 我无法进行初始化,因为该项目已经在生产中。

任何想法??? 谢谢

 错误[solr索引器线程] [DefaultIndexerWorker] [Indexer worker 2(对Backoffice/Product_backoffice_product的Solr Config进行全索引操作)]由于无法用PK 8796132245505索引项而无法处理索引项:没有命名为bean  " enumValueResolver"可用
   de.hybris.platform.solrfacetsearch.indexer.exceptions.IndexerException:使用PK 8796132245505未能为项目建立索引:没有名为'enumValueResolver'的bean
          在de.hybris.platform.solrfacetsearch.indexer.impl.DefaultIndexer.handleError(DefaultIndexer.java:263)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.impl.DefaultIndexer.indexItems(DefaultIndexer.java:124)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerBatchStrategy.executeIndexerOperation(DefaultIndexerBatchStrategy.java:253)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerBatchStrategy.execute(DefaultIndexerBatchStrategy.java:218)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.workers.impl.DefaultIndexerWorker.doRun(DefaultIndexerWorker.java:202)上[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.workers.impl.DefaultIndexerWorker.run(DefaultIndexerWorker.java:158)上[solrfacetsearchserver.jar :?]
          在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)[?:1.8.0_172]
          在java.util.concurrent.FutureTask.run(FutureTask.java:266)[?:1.8.0_172]
          在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)[?:1.8.0_172]
          在java.util.concurrent.FutureTask.run(FutureTask.java:266)[?:1.8.0_172]
          在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)[?:1.8.0_172]
          在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)[?:1.8.0_172]
          在java.lang.Thread.run(Thread.java:748)[?:1.8.0_172]
  引起原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有名为'enumValueResolver'的bean
          在org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:687)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1207)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:275)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)〜[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在de.hybris.platform.solrfacetsearch.provider.impl.DefaultValueProviderSelectionStrategy.getValueProvider(DefaultValueProviderSelectionStrategy.java:61)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.impl.DefaultSolrDocumentFactory.addIndexedPropertyFields(DefaultSolrDocumentFactory.java:289)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.impl.DefaultSolrDocumentFactory.createInputDocument(DefaultSolrDocumentFactory.java:191)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.impl.DefaultIndexer.indexItems(DefaultIndexer.java:118)〜[solrfacetsearchserver.jar :?]
          ...另外11个
  

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

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


你好,我从6.5升级到6.6,我无法浏览后台的类型,因为它说它需要索引,但是当我进入后台到"搜索和导航-> Facet搜索配置-> Solr配置"时, for Backoffice",并尝试进行完整索引,则出现异常

我看不到该bean是怎么丢失的,因为它位于platformbackoffice中,当我启动hybris时,它将显示在日志的开头...

我还尝试调试弹簧代码(DefaultListableBeanFactory.getBeanDefinition),发现在查找此bean时的上下文中只有64个bean可用! 而且它们只能来自代码和solrserver。 在其他时间在同一位置搜索bean时,它有4000多个bean,有时是200多个bean,因此看起来我们有很多不同的上下文?

无论如何,请对这里的任何提示表示感谢,我已经尝试了多次更新,但没有帮助。 我无法进行初始化,因为该项目已经在生产中。

任何想法??? 谢谢

 错误[solr索引器线程] [DefaultIndexerWorker] [Indexer worker 2(对Backoffice/Product_backoffice_product的Solr Config进行全索引操作)]由于无法用PK 8796132245505索引项而无法处理索引项:没有命名为bean  " enumValueResolver"可用
   de.hybris.platform.solrfacetsearch.indexer.exceptions.IndexerException:使用PK 8796132245505未能为项目建立索引:没有名为'enumValueResolver'的bean
          在de.hybris.platform.solrfacetsearch.indexer.impl.DefaultIndexer.handleError(DefaultIndexer.java:263)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.impl.DefaultIndexer.indexItems(DefaultIndexer.java:124)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerBatchStrategy.executeIndexerOperation(DefaultIndexerBatchStrategy.java:253)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerBatchStrategy.execute(DefaultIndexerBatchStrategy.java:218)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.workers.impl.DefaultIndexerWorker.doRun(DefaultIndexerWorker.java:202)上[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.workers.impl.DefaultIndexerWorker.run(DefaultIndexerWorker.java:158)上[solrfacetsearchserver.jar :?]
          在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)[?:1.8.0_172]
          在java.util.concurrent.FutureTask.run(FutureTask.java:266)[?:1.8.0_172]
          在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)[?:1.8.0_172]
          在java.util.concurrent.FutureTask.run(FutureTask.java:266)[?:1.8.0_172]
          在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)[?:1.8.0_172]
          在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)[?:1.8.0_172]
          在java.lang.Thread.run(Thread.java:748)[?:1.8.0_172]
  引起原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有名为'enumValueResolver'的bean
          在org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:687)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1207)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:275)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)〜[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080)〜[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
          在de.hybris.platform.solrfacetsearch.provider.impl.DefaultValueProviderSelectionStrategy.getValueProvider(DefaultValueProviderSelectionStrategy.java:61)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.impl.DefaultSolrDocumentFactory.addIndexedPropertyFields(DefaultSolrDocumentFactory.java:289)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.impl.DefaultSolrDocumentFactory.createInputDocument(DefaultSolrDocumentFactory.java:191)〜[solrfacetsearchserver.jar :?]
          在de.hybris.platform.solrfacetsearch.indexer.impl.DefaultIndexer.indexItems(DefaultIndexer.java:118)〜[solrfacetsearchserver.jar :?]
          ...另外11个
  
付费偷看设置
发送
2条回答
CJones
1楼 · 2020-09-14 01:16.采纳回答

嗨,

存在多个名为 enumValueResolver 的bean的问题。 作为修复,在 backofficesolrsearch-spring.xml 中定义的一个别名为 solrEnumValueResolver 。 Solr配置中用于批准状态的 fieldValueProvider 也必须更改。 情况并非如此,如6.6中所修复的那样,但检查始终是一件好事。

干杯, 雅西克

P.S。 关于Spring上下文,请查看本文档了解Spring上下文的组织方式 在Backoffice

callcenter油条
2楼-- · 2020-09-14 01:25

中,按照您的提示,我发现添加此impex代码可以解决此问题! 非常感谢!

  INSERT_UPDATE SolrIndexedProperty; 名称[unique = true];  $ solrIndexedType; 类型(代码);  fieldValueProvider;  includeInResponse [default = false]; facetType(code)[default ='MultiSelectOr'];
                                   ; 审批状态;  ; 弦;  solrEnumValueResolver;  ;  ;
 
  

一周热门 更多>