弹性搜索在Spring Boot应用程序中不起作用

穆罕默德·克希米里(Mohamed Khemiri)

我正在使用Spring Boot,我想在我的解决方案中集成弹性搜索。我向实体添加了弹性搜索依赖项,配置,存储库和批注@Document,它可以正常工作。但是,当我对另一个实体执行相同的操作时,应用程序会生成错误:

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-12-05 11:54:40.406 ERROR 21823 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'activityGroupController' defined in file [/home/sp/Documents/projet international cooperation/sp-international-cooperation-back/target/classes/com/softparadigm/gpci/controller/ActivityGroupController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'activityGroupService' defined in file [/home/sp/Documents/projet international cooperation/sp-international-cooperation-back/target/classes/com/softparadigm/gpci/service/ActivityGroupService.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'activityGroupSearchRepository': Invocation of init method failed; nested exception is java.lang.IllegalStateException: No association found!
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:732) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:197) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1267) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1124) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:535) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869) ~[spring-context-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:780) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:333) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1277) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1265) [spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at com.softparadigm.gpci.GpciApplication.main(GpciApplication.java:22) [classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_222]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_222]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_222]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_222]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.0.5.RELEASE.jar:2.0.5.RELEASE]
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'activityGroupService' defined in file [/home/sp/Documents/projet international cooperation/sp-international-cooperation-back/target/classes/com/softparadigm/gpci/service/ActivityGroupService.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'activityGroupSearchRepository': Invocation of init method failed; nested exception is java.lang.IllegalStateException: No association found!
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:732) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:197) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1267) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1124) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:535) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1135) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1062) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:818) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:724) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    ... 24 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'activityGroupSearchRepository': Invocation of init method failed; nested exception is java.lang.IllegalStateException: No association found!
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1699) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1135) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1062) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:818) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:724) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    ... 38 common frames omitted
Caused by: java.lang.IllegalStateException: No association found!
    at org.springframework.data.mapping.PersistentProperty.getRequiredAssociation(PersistentProperty.java:166) ~[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]
    at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.createAndRegisterProperty(AbstractMappingContext.java:565) ~[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]
    at org.springframework.data.mapping.context.AbstractMappingContext$PersistentPropertyCreator.doWith(AbstractMappingContext.java:530) ~[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]
    at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:729) ~[spring-core-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.data.mapping.context.AbstractMappingContext.addPersistentEntity(AbstractMappingContext.java:398) ~[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]
    at org.springframework.data.mapping.context.AbstractMappingContext.getPersistentEntity(AbstractMappingContext.java:229) ~[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]
    at org.springframework.data.mapping.context.AbstractMappingContext.getPersistentEntity(AbstractMappingContext.java:172) ~[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]
    at org.springframework.data.mapping.context.AbstractMappingContext.getPersistentEntity(AbstractMappingContext.java:85) ~[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$3(RepositoryFactoryBeanSupport.java:288) ~[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]
    at java.util.Optional.ifPresent(Optional.java:159) ~[na:1.8.0_222]
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:288) ~[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]
    at org.springframework.data.elasticsearch.repository.support.ElasticsearchRepositoryFactoryBean.afterPropertiesSet(ElasticsearchRepositoryFactoryBean.java:67) ~[spring-data-elasticsearch-3.0.10.RELEASE.jar:3.0.10.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1758) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1695) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    ... 49 common frames omitted

这是我的新实体定义

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.Field;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
@Document(indexName = "activity_group", type = "activity_group")
public class ActivityGroup implements Serializable {
private static final long serialVersionUID = 1L;

@Id
private String id;

@Field("code")
private String code;

@Field("name")
private String name;

@Field("description")
private String description;

@Field("color")
private String color;

@DBRef
@Field("requirements")
private List<Requirement> requirements;

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getCode() {
    return code;
}

public ActivityGroup code(String code) {
    this.code = code;
    return this;
}

public void setCode(String code) {
    this.code = code;
}

public String getName() {
    return name;
}

public ActivityGroup name(String name) {
    this.name = name;
    return this;
}

public void setName(String name) {
    this.name = name;
}

public String getDescription() {
    return description;
}

public ActivityGroup description(String description) {
    this.description = description;
    return this;
}

public void setDescription(String description) {
    this.description = description;
}

public String getColor() {
    return color;
}

public ActivityGroup color(String color) {
    this.color = color;
    return this;
}

public void setColor(String color) {
    this.color = color;
}


public List<Requirement> getRequirements() {
    return requirements;
}

public void setRequirements(List<Requirement> requirements) {
    this.requirements = requirements;
}

@Override
public boolean equals(Object o) {
    if (this == o) {
        return true;
    }
    if (o == null || getClass() != o.getClass()) {
        return false;
    }
    ActivityGroup activityGroup = (ActivityGroup) o;
    if (activityGroup.getId() == null || getId() == null) {
        return false;
    }
    return Objects.equals(getId(), activityGroup.getId());
}

@Override
public int hashCode() {
    return Objects.hashCode(getId());
}

@Override
public String toString() {
    return "ActivityGroup{" +
            "id=" + getId() +
            ", code='" + getCode() + "'" +
            ", name='" + getName() + "'" +
            "}";
}

}

侧门

您在同一个类中同时使用elasticsearch和mongo映射注释。

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.mongodb.core.mapping.DBRef; 
import org.springframework.data.mongodb.core.mapping.Field;

如果必须在同一项目中同时使用mongodb和elasticsearch,则需要为两个数据源定义不同的实体,并分别使用相应的注释。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

简单的Spring Boot应用程序不起作用

来自分类Dev

注销在Spring Boot应用程序中不起作用(不支持POST方法)

来自分类Dev

带有JSTL的JSP在Spring Boot应用程序中的tomcat 8上不起作用

来自分类Dev

Rails应用程序中的搜索表单不起作用

来自分类Dev

表单搜索在Rails应用程序中不起作用

来自分类Dev

控制器到某些功能的映射在已部署的Spring Boot应用程序中不起作用

来自分类Dev

独立运行Spring Boot应用程序时映射不起作用

来自分类Dev

排序在弹性搜索中不起作用

来自分类Dev

Axios取消令牌在实时搜索React应用程序中不起作用

来自分类Dev

搜索表单不起作用,并在Rails应用程序中给出错误

来自分类Dev

在 Android 中搜索将不起作用;应用程序崩溃

来自分类Dev

弹性搜索-文本搜索不起作用

来自分类Dev

Spring 启动 POST 请求在 Spring MVC 应用程序中不起作用

来自分类Dev

url-pattern在Spring MVC应用程序中不起作用

来自分类Dev

Spring Roo应用程序中的日期字段的@AssertTrue验证不起作用

来自分类Dev

Spring @Secured和@PreAuthorize在普通(非Web)应用程序中不起作用

来自分类Dev

为什么我的@Before注释在Spring应用程序中不起作用?

来自分类Dev

在Spring Boot应用程序中,只有Post REST api有效,PUT,GET,DELETE api不起作用

来自分类Dev

将Spring Boot Web应用程序部署到JBoss-webjars-locator似乎不起作用

来自分类Dev

Curl POST 命令将 json 数据传递给 spring-boot 应用程序不起作用

来自分类常见问题

Spring Boot +弹性搜索:Java RestHighLevelClient拒绝了连接

来自分类Dev

Spring Boot Server启动问题弹性搜索

来自分类Dev

如何通过弹性搜索查找排序的数据-spring boot

来自分类Dev

弹性搜索聚合字段不起作用..?

来自分类Dev

弹性搜索动态模板不起作用

来自分类Dev

过滤查询在弹性搜索中不起作用

来自分类Dev

如何在Spring Boot数据弹性搜索中搜索嵌套列表对象

来自分类Dev

部分文字搜索(查找)在我的快速应用程序上不起作用

来自分类Dev

GROUP BY 在弹性搜索中

Related 相关文章

  1. 1

    简单的Spring Boot应用程序不起作用

  2. 2

    注销在Spring Boot应用程序中不起作用(不支持POST方法)

  3. 3

    带有JSTL的JSP在Spring Boot应用程序中的tomcat 8上不起作用

  4. 4

    Rails应用程序中的搜索表单不起作用

  5. 5

    表单搜索在Rails应用程序中不起作用

  6. 6

    控制器到某些功能的映射在已部署的Spring Boot应用程序中不起作用

  7. 7

    独立运行Spring Boot应用程序时映射不起作用

  8. 8

    排序在弹性搜索中不起作用

  9. 9

    Axios取消令牌在实时搜索React应用程序中不起作用

  10. 10

    搜索表单不起作用,并在Rails应用程序中给出错误

  11. 11

    在 Android 中搜索将不起作用;应用程序崩溃

  12. 12

    弹性搜索-文本搜索不起作用

  13. 13

    Spring 启动 POST 请求在 Spring MVC 应用程序中不起作用

  14. 14

    url-pattern在Spring MVC应用程序中不起作用

  15. 15

    Spring Roo应用程序中的日期字段的@AssertTrue验证不起作用

  16. 16

    Spring @Secured和@PreAuthorize在普通(非Web)应用程序中不起作用

  17. 17

    为什么我的@Before注释在Spring应用程序中不起作用?

  18. 18

    在Spring Boot应用程序中,只有Post REST api有效,PUT,GET,DELETE api不起作用

  19. 19

    将Spring Boot Web应用程序部署到JBoss-webjars-locator似乎不起作用

  20. 20

    Curl POST 命令将 json 数据传递给 spring-boot 应用程序不起作用

  21. 21

    Spring Boot +弹性搜索:Java RestHighLevelClient拒绝了连接

  22. 22

    Spring Boot Server启动问题弹性搜索

  23. 23

    如何通过弹性搜索查找排序的数据-spring boot

  24. 24

    弹性搜索聚合字段不起作用..?

  25. 25

    弹性搜索动态模板不起作用

  26. 26

    过滤查询在弹性搜索中不起作用

  27. 27

    如何在Spring Boot数据弹性搜索中搜索嵌套列表对象

  28. 28

    部分文字搜索(查找)在我的快速应用程序上不起作用

  29. 29

    GROUP BY 在弹性搜索中

热门标签

归档