Java Spring błąd przy próbie uruchomienia - ConflictingBeanDefinitionException

0

Cześć, dostałem do napisania moduł w C++ do istniejącego już projektu projektu napisanego w Javie. Ogólnie miałem napisać kawałek kodu w C++ ale póki co muszę naprawić ten projekt z javy. Przy próbie opaleniu jest błąd

org.springframework.context.annotation.ConflictingBeanDefinitionException

, szczegóły w linku z wklej.se . Znalazłem te miejsca gdzie powiela się ten 'BeanDefinition' i znalazłem w obu tych miejscach coś takiego:

@Bean(name = "graphDatabaseService")
    public GraphDatabaseService graphDatabaseService() {
        return new GraphDatabaseFactory().newEmbeddedDatabase(System.getProperty("user.dir"));
    }
 
 
    @Bean(name = "graphDatabaseService")
    public GraphDatabaseService graphDatabaseService() {
        return new GraphDatabaseFactory().newEmbeddedDatabase(getNeo4jDatabasePath());
    }


Teraz, czy to powoduje ten problem to że są dwie takie same adnotacje? Jak coś takiego naprawić? Szukałem już rozwiązań i po kolei je próbowałem zastosować ale dostawałem potem tylko inne komunikaty błędów.

http://wklej.se/61ee

LINK do poprzedniego tematu

0

Zmień nazwę jednego z tych beanów, niemniej jeśli ktoś wtrzykuje to przez interfejs to i tak się będzie sypać. Wtedy zakomentuj całego beana jednego.

0

Zakomentowałem tego beana ale dalej występuje ten sam błąd, zrobiłem to samo z całym tym plikiem oprócz deklaracji klasy i dalej było bez zmian.

0

Ale przecież komunikat błędy w ogóle pokazuje zupełnie inne miejsce w kodzie gdzie jest błąd. Pokazuje na MyCoreConfig

0

Zmyliło mnie to że nie znalazłem żadnej adnotacji @Bean nad klasą. Znalazłem w mainie coś takiego i sądzę że jest to.

public static void main(String[] args) {
		System.setProperty("gorules.goron.path.prefix", DATABASE_LOCATION);
		ApplicationContext context = new AnnotationConfigApplicationContext(MyCoreConfig.class);

Te dwie klasy to:

public class MyCoreConfig extends Neo4jConfiguration {

        @Bean(name = "graphDatabaseService")
	public GraphDatabaseService graphDatabaseService() {
		return new GraphDatabaseFactory().newEmbeddedDatabase(System.getProperty("user.dir"));
	}

}

oraz

public class MyCoreConfig extends Neo4jConfiguration {

	@Bean(name = "graphDatabaseService")
	public GraphDatabaseService graphDatabaseServiceed() {
		return new GraphDatabaseFactory().newEmbeddedDatabase(getNeo4jDatabasePath());
	}

	private String getNeo4jDatabasePath() {
		String DatabasePath = System.getProperty("gorules.goron.database");
		if (DatabasePath != null) {
			return DatabasePath;
		}
		throw new GoGoronStartupException("GORON-STARTUP-1", "Neo4j database path is not specified");
	}
}

Jednak po zmianie nazwy jednej albo drugiej klasy błąd dalej występuje, szukałem czy w jakimś pliku nie ma wpisanej ścieżki do takiej klasy ale nic nie znalazłem. To samo się dzieje jak wykomentuje wszystko z tej klasy i zmienię jej nazwe

1 użytkowników online, w tym zalogowanych: 0, gości: 1