0

i am using spring-data-solr, but i can't make it to work :(..

i am still new to spring, i think i setup every thing, can you help me please.

thank you very much

***************************
APPLICATION FAILED TO START
***************************        

Description:

Field userSearchResultSolrRepository in com.dateup.models.solr.StartupSync required a bean of type 'com.dateup.repositories.solr.UserSearchResultSolrRepository' that could not be found.


Action:

Consider defining a bean of type 'com.dateup.repositories.solr.UserSearchResultSolrRepository' in your configuration.

Here is my code:

i setup the dependency

...
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-solr</artifactId>
    <version>2.1.3.RELEASE</version>
</dependency>
....

@Configuration
@EnableSolrRepositories(basePackages = {"com.dateup.repositories.solr.*"}, multicoreSupport = true)
public class SearchContext {
}

import org.joda.time.LocalDate;
import org.springframework.data.annotation.Id;
import org.springframework.data.solr.core.mapping.Indexed;
import org.springframework.data.solr.core.mapping.SolrDocument;


@SolrDocument(solrCoreName = "collection1")
public class UserSearchResultSolr {
    @Id
    @Indexed
    public Long id;

    @Indexed
    public String name;
    .....
}

import org.springframework.data.solr.repository.SolrCrudRepository;

public interface UserSearchResultSolrRepository extends SolrCrudRepository<UserSearchResultSolr, String> {
}

@Component
public class StartupSync {

    @Autowired
    private UserRepository m_userRepository;

    @Autowired
    private UserSearchResultSolrRepository userSearchResultSolrRepository;

    @PostConstruct
    public void syncSolr() {

thank you

shay te
  • 1,028
  • 3
  • 12
  • 23

1 Answers1

1

Try to compenent scan your base package as shown in the code snipet below. Also, @EnableSolrRepositories should point to the exact location of your repository class instead of ...repositories.solr.* you could do com.dateup.repositories.solr.

@Configuration
@ComponentScan(basePackages = "com.dateup")
@EnableSolrRepositories(basePackages = {"com.dateup.repositories.solr"}, multicoreSupport = true)
public class SearchContext {
}
AchillesVan
  • 4,156
  • 3
  • 35
  • 47