You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Eduard Gomoliako (Jira)" <ji...@apache.org> on 2023/01/04 16:23:00 UTC

[jira] [Created] (CAMEL-18862) Using Spring Boot Camel Starter the RoutesCollector doesn't see RoutesBuilder added via Camel Context Registry

Eduard Gomoliako created CAMEL-18862:
----------------------------------------

             Summary: Using Spring Boot Camel Starter the RoutesCollector doesn't see RoutesBuilder added via Camel Context Registry
                 Key: CAMEL-18862
                 URL: https://issues.apache.org/jira/browse/CAMEL-18862
             Project: Camel
          Issue Type: Bug
          Components: camel-spring-boot
            Reporter: Eduard Gomoliako


Running Camel Context via Spring Boot Camel Starter the following configuration doesn't work:

{code:java}
@Configuration
public class ContextConfiguration {
  @Inject
  CamelContext camelContext;

  @PostConstruct
  public void init() {
    camelContext.getRegistry().bind("my-routes", new RoutesBuilder() {
      public void configure() {
        from("direct:input").to("direct:output");
      }
    });
  }
}{code}

The reason seems to be in the {{SpringBootRoutesCollector}} class implementation that overrides the {{findByType}} method and makes it to use Spring {{ApplicationContext}} directly.

Considering that being bootstrapped via Spring Boot the Camel Context Registry looks the beans up in the Spring Application Context with a fallback to the default registry, the {{SpringBootRoutesCollector}} class _is redundant_ and doesn't provide any additional value having only the mentioned {{findByType}} method overridden.

 

Should my analysis be incorrect, it would be nice to learn about the reasoning behind the {{SpringBootRoutesCollector}} class.

I appreciate your consideration. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)