无法使用 Karaf 4.3.1 和 Camel 3.7.4 从 Kafka 主题消费

问题描述

您好,我有一个非常简单的骆驼路线(尝试使用和记录 Kafka 主题消息):

{ loading: false }

如果我在这条路线上运行单元测试,我会看到主题消息,但是当我部署这个包时,我没有从我的主题中得到任何消息,也没有错误 Karaf 只是向我展示这个日志:

@Override
public void configure() throws Exception {
    super.configure();

    from(kafka())
            .routeId(INPUT_broKER_ROUTE_ID)

            .log("KAFKA BODY ::: ${body}");
}

private static String kafka() {
    return new StringBuilder("kafka:")
            .append("{{kafka.topic}}")
            .append("?brokers=")
            .append("{{kafka.brokers}}")
            .append("&groupId=")
            .append("{{kafka.group.id}}")
            .append("&clientId=")
            .append("myClientId")
            .append("&autoOffsetReset=")
            .append("earliest")
            .append("&saslMechanism=")
            .append("PLAIN")
            .append("&securityProtocol=")
            .append(SASL_PLAINTEXT)
            .append("&saslJaasConfig=")
            .append(saslJaasConfig())
            .toString();
}

private static String saslJaasConfig() {
    return new StringBuilder(format("%s",PlainLoginModule.class.getCanonicalName()))
            .append(' ').append("required").append(' ')
            .append("username=")
            .append('"').append("{{kafka.username}}").append('"')
            .append(' ')
            .append("password=")
            .append('"').append("{{kafka.password}}").append('"')
            .append(';')
            .toString();
}

我做了一些测试,我发现即使我提供了错误用户名或密码也没有任何反应(仅在 Karaf 上运行时)它看起来好像没有连接

解决方法

我终于发现 LTS 版本 3.7.4 上的骆驼问题是通过使用最新的骆驼版本 (3.10.0) 解决的...

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...