Пример верблюда не может найти org.apache.camel.impl.DefaultComponent - PullRequest
2 голосов
/ 23 марта 2019

Я создал небольшой пример Apache Camel, но он не может найти класс org.apache.camel.impl.DefaultComponent. Здесь полный журнал ошибок.

Я посмотрел класс на search.maven.org , который говорит, что он должен содержаться в org.apache.camel:camel-core.Добавление этого не решает мою проблему.Что не так в этом примере?


Это приложение

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(Application.class);
        app.setWebApplicationType(WebApplicationType.NONE);
        app.run(args);
    }
}

и здесь маршрут.

@Component
public class ZmqRoute extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        //from("stream:in").to("stream:out");

        String host = "zmq.devnet.iota.org";
        from("zeromq:tcp://" + host + ":5556?socketType=SUBSCRIBE&topics=tx")
                .to("stream:out")
                .log("${body}");
    }
}

Наконец, здесь build.gradle.kts

plugins {
    java
    application
    id("org.springframework.boot") version "2.1.2.RELEASE"
    id("io.spring.dependency-management") version "1.0.6.RELEASE"
}

repositories {
    jcenter()
}

application {
    mainClassName = "org.example.camel.Application"
}

java {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
}

tasks.withType<JavaCompile>().configureEach {
    options.compilerArgs.addAll(arrayOf("-Xlint:all"))
    options.encoding = "UTF-8"
}

dependencies {
    val camelVersion = "3.0.0-M1"

    implementation("org.springframework.boot:spring-boot-starter-web")

    implementation("org.apache.camel:camel-spring-boot-starter:$camelVersion")

    implementation("org.apache.camel:camel-stream-starter:$camelVersion")

    //implementation("org.apache.camel:camel-core:$camelVersion")

    implementation("org.apache-extras.camel-extra:camel-zeromq:2.22.0") {
        exclude(module = "zeromq-scala-binding_2.10")
    }

    implementation("org.zeromq:jeromq:0.5.0")

    testImplementation("junit:junit:4.12")
}

Ответы [ 2 ]

2 голосов
/ 23 марта 2019

Итак, по сути, посмотрев на Camel Core 3.0.0.M1, я обнаружил файл .class для

org.apache.camel.impl.DefaultComponent

больше не существует!

camel-core-3.0.0-M1.jar\org\apache\camel\impl 

enter image description here

Честно говоря, мне кажется, что это ошибка или несовместимость с core-zeromq.

0 голосов
/ 25 марта 2019

Класс был перемещен в https://github.com/apache/camel/blob/master/core/camel-support/src/main/java/org/apache/camel/support/DefaultComponent.java

, поэтому в другом пакете.Об этом сообщалось также в руководстве по миграции

https://github.com/apache/camel/blob/master/MIGRATION.md#migrating-custom-components

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...