All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.datastax.ebdrivers.kafkaproducer.KafkaAction Maven / Gradle / Ivy

Go to download

A Kafka driver for nosqlbench. This provides the ability to inject synthetic data into a kafka topic.

There is a newer version: 4.15.102
Show newest version
package com.datastax.ebdrivers.kafkaproducer;

/*
 * Copyright (c) 2022 nosqlbench
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */


import io.nosqlbench.engine.api.activityapi.core.SyncAction;
import io.nosqlbench.engine.api.activityapi.planning.OpSequence;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;


public class KafkaAction implements SyncAction {

    private final static Logger logger = LogManager.getLogger(KafkaAction.class);

    private final KafkaProducerActivity activity;
    private final int slot;

    private OpSequence sequencer;

    public KafkaAction(KafkaProducerActivity activity, int slot) {
        this.activity = activity;
        this.slot = slot;
    }

    @Override
    public void init() {
        this.sequencer = activity.getOpSequencer();
    }

    @Override
    public int runCycle(long cycle) {
        sequencer.apply(cycle).write(cycle);
        return 1;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy