小编Vij*_*ade的帖子

kafka MockConsumer抛出异常错误java.lang.IllegalStateException:对主题,分区和模式的订阅是互斥的

我正在尝试对我的卡夫卡消费者进行单元测试.我正在尝试使用java api MockConsumer附带的类kafka-client.以下是我的配置代码

@Bean
public MockConsumer consumer(){

    MockConsumer consumer = new MockConsumer(OffsetResetStrategy.LATEST);
    consumer.assign(Arrays.asList(new TopicPartition("test-topic", 0)));

    HashMap<TopicPartition, Long> beginningOffsets = new HashMap<>();
    beginningOffsets.put(new TopicPartition("test-topic", 0), 0L);
    consumer.updateBeginningOffsets(beginningOffsets);

    consumer.addRecord(new ConsumerRecord<String, String>("test-topic",0,
            0L, "mykey", "myvalue0"));
    consumer.addRecord(new ConsumerRecord<String, String>("test-topic", 0,
            1L, "mykey", "myvalue1"));
    consumer.addRecord(new ConsumerRecord<String, String>("test-topic", 0,
            2L, "mykey", "myvalue2"));
    consumer.addRecord(new ConsumerRecord<String, String>("test-topic", 0,
            3L, "mykey", "myvalue3"));
    consumer.addRecord(new ConsumerRecord<String, String>("test-topic", 0,
            4L, "mykey", "myvalue4"));
    HashMap<TopicPartition, Long> endOffsets = new HashMap<>();
    endOffsets.put(new TopicPartition("test-topic", 0), 4L);
    consumer.updateEndOffsets(endOffsets);
    return consumer;
}
Run Code Online (Sandbox Code Playgroud)

现在当我在我的测试用例中使用这个MockConsumer Bean时,如下所示

@Autowired …
Run Code Online (Sandbox Code Playgroud)

java kafka-consumer-api

2
推荐指数
1
解决办法
3028
查看次数

使用用户运行 docker 容器

我创建了这个 docker 文件来在 docker 容器中运行 python 脚本。我在这里创建一个用户,我希望该用户从 docker 镜像运行容器。

FROM ubuntu:16.04
MAINTAINER "Vijendra Kulhade" <xxxxxx@xxxxxx.com>
RUN yum makecache fast
RUN yum -y update
RUN yum -y install gcc
RUN yum -y install zlib-devel
RUN yum -y install openssl-devel
RUN yum -y install python-setuptools python-setuptools-devel
RUN yum -y install libyaml
RUN useradd newuser -d /home/newuser
RUN chown -R newuser.newuser /usr/bin/
RUN chown -R newuser.newuser /usr/lib64/
RUN chown -R newuser.newuser /usr/lib/
ENV https_proxy=http://proxy.xxxx.com:8080
RUN easy_install pip
RUN pip -V
RUN pip install …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

docker ×1

dockerfile ×1

java ×1

kafka-consumer-api ×1