camel-zeromq неправильно завершает контекст JeroMQ - PullRequest
0 голосов
/ 24 марта 2019

Я создал небольшой пример Apache Camel, в котором используется компонент camel-zeromq.JeroMQ сконфигурирован как реализация ZMQ.

Здесь выдержка из build.gradle.kts

dependencies {
    // 3.0.0-M1, see https://stackoverflow.com/q/55314360/1809463
    val camelVersion = "2.23.1"

    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("org.apache.camel:camel-spring-boot-starter:$camelVersion")
    implementation("org.apache-extras.camel-extra:camel-zeromq:2.22.0") {
        exclude(group = "org.zeromq", module = "zeromq-scala-binding_2.10")
        exclude(group = "com.typesafe.akka", module = "akka-zeromq_2.10")
        exclude(group = "com.typesafe.akka", module = "akka-actor_2.10")
    }
    implementation("org.zeromq:jeromq:0.4.0") // versions > 0.4.0 don't work

    testImplementation("junit:junit:4.12")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
    testImplementation("org.apache.camel:camel-test:$camelVersion")
    testImplementation("org.apache.camel:camel-test-spring:$camelVersion")
}

Следующие две ошибки возникают при завершении работы, когда установлен ShutdownStrategy с небольшим тайм-аутом, в противном случае без ошибокрегистрируется, и приложение не завершает работу полностью.

java.lang.IllegalStateException: null at zmq.Ctx.terminate (Ctx.java:198) ~ [jeromq-0.4.0.jar: na] at org.zeromq.ZMQ $ Context.term (ZMQ.java:316) ~ [jeromq-0.4.0.jar: na] at org.apacheextras.camel.component.zeromq.Listener.stop (Listener.java:130) ~ [camel-zeromq-2.22.0.jar: 2.22.0] в org.apacheextras.camel.component.zeromq.ZeromqConsumer.doStop (ZeromqConsumer.java:63) [camel-zeromq-2.22.0.jar: 2.22.0]

и

java.lang.InterruptedException: null at java.lang.Object.wait (собственный метод) ~ [na: 1.8.0_40] atjava.lang.Thread.join (Thread.java:1253) [na: 1.8.0_40] at org.apacheextras.camel.component.zeromq.ZeromqProducer.stop (ZeromqProducer.java:122) ~ [camel-zeromq-2.22.0.jar: 2.22.0]

Более подробная информация доступна здесь и здесь .Проект доступен на GitHub .

...