Spring boot 2 с apache вербальной версией приложения - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть требование, при котором мне нужно слушать активный mq и вызывать rest post api для данных, которые я получил как тело, для этого я создал простое приложение с загрузочной пружиной 2.x и пытаюсь запустить маршрутизатор, но приложение не запускается.

Мое понимание регистрации роутера состоит в том, чтобы аннотировать класс с помощью @Component, и он должен реализовывать верблюжий RouteBuilder

@Component
public class Router extends RouteBuilder{
    @Override
    public void configure() throws Exception {
            from("timer:foo").to("log:bar");
    }
}
  • JDK 1.8
  • Spring boot version 2.2.6.RELEASE
  • Camel версии 2.24.0

    Pom xml

<dependencies>
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
      </dependency>
      <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-spring</artifactId>
          <version>${camel.version}</version>
      </dependency>
      <dependency>
          <groupId>org.apache.camel</groupId>
          <artifactId>camel-spring-boot-starter</artifactId>
          <version>2.24.0</version>
      </dependency>
  </dependencies>

Я получаю ошибку

Caused by: java.lang.ClassNotFoundException: org.apache.camel.spring.spi.XmlCamelContextConfigurer
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

Попробуйте удалить зависимость camel-spring. Это должно быть перенесено транзитивно через camel-spring-boot-starter.

Сообщение об ошибке может быть проблемой с различными версиями Camel. Например, если ${camel.version} в вашем POM не определено или не равно 2.24.0, вы можете смешать версии Camel для camel-spring и camel-core.

0 голосов
/ 19 апреля 2020

Если какой-либо ресурс не может быть загружен в вашей системе, для этого вам необходимо удалить приложение и удалить все файлы из c / program-file /, а затем установить его снова. Надеюсь, это поможет вам решить эту проблему.

...