gpt4 book ai didi

java - 由于getJaloResult()错误,使用flexiblesearch服务连接hybris数据库出现空指针异常

转载 作者:行者123 更新时间:2023-12-01 23:29:52 31 4
gpt4 key购买 nike

尝试使用 hybris 灵活搜索服务连接 hybris 数据库时,出现 null 指针异常,这似乎是由于 getJaloResult() 造成的 方法。

我需要从 hybris 商务数据库检索某些数据。我尝试使用 hybris 灵活服务通过使用 defaultFlexibleSearchService.search() 方法来做到这一点,但我得到了 null 指针异常。似乎是在 search() 方法尝试调用 getJaloResult() 方法时发生了异常。我对解决方案一无所知 - 感谢您的任何提示。

我的类定义代码在这里

package de.hybris.platform.integrationservices.audit;
import java.util.stream.Stream;
import com.sun.tools.javac.util.List;
import de.hybris.platform.audit.TypeAuditReportConfig;
import de.hybris.platform.audit.view.AuditViewService;
import de.hybris.platform.audit.view.impl.ReportView;
import de.hybris.platform.servicelayer.search.FlexibleSearchQuery;
import de.hybris.platform.servicelayer.search.FlexibleSearchService;
import de.hybris.platform.servicelayer.search.RelationQuery;
import de.hybris.platform.servicelayer.search.SearchResult;
import de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService;
import de.hybris.platform.integrationservices.model.IntegrationObjectModel;

public class IntegrationObjectAudit implements AuditViewService
{
private DefaultFlexibleSearchService defaultFlexibleSearchService;

public IntegrationObjectAudit() {
defaultFlexibleSearchService = new DefaultFlexibleSearchService();
}

public List<IntegrationObjectModel> searchModel(){
String query = "SELECT {PK} FROM {IntegrationObject}";
FlexibleSearchQuery flexibleSearchQuery = new FlexibleSearchQuery(query);
flexibleSearchQuery.setCount(1);

de.hybris.platform.servicelayer.search.SearchResult<IntegrationObjectModel> resListIntegrationModel = this.defaultFlexibleSearchService.search(query);
List<IntegrationObjectModel> resList = (List<IntegrationObjectModel>) resListIntegrationModel.getResult();
return resList;
}
}

最佳答案

没注意到它是几天前发布的。希望你已经解决了。仍在添加我的答案,因为它可能对其他人有帮助。

我看到您没有在 IntegrationObjectAudit 中注入(inject)flexibleSearchService bean。由于flexibleSearchService bean没有被注入(inject),当你调用它的任何函数时,它会导致NullPointerException。

您可以按如下方式修复它(Spring bean注入(inject)概念)

  1. 您应该创建一个setter函数并通过spring xml注入(inject)它
  2. 或者使用@Resource或@Autowire注释相同

public class IntegrationObjectAudit implements AuditViewService
{
@Resource
private DefaultFlexibleSearchService flexibleSearchService;

.....

希望有帮助。请告诉我。

关于java - 由于getJaloResult()错误,使用flexiblesearch服务连接hybris数据库出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58295135/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com