
ru.tinkoff.gatling.kafka.javaapi.request.builder.RROutTopicStep Maven / Gradle / Ivy
package ru.tinkoff.gatling.kafka.javaapi.request.builder;
import org.apache.kafka.common.header.Headers;
import org.apache.kafka.common.header.internals.RecordHeaders;
import org.apache.kafka.common.serialization.*;
import ru.tinkoff.gatling.kafka.request.builder.KafkaRequestBuilderBase;
import scala.reflect.ClassTag;
import static io.gatling.javaapi.core.internal.Expressions.*;
public class RROutTopicStep {
private final String inputTopic;
private final String outputTopic;
private final String requestName;
public RROutTopicStep(String inputTopic, String outputTopic, String requestName) {
this.inputTopic = inputTopic;
this.outputTopic = outputTopic;
this.requestName = requestName;
}
public RequestReplyBuilder, ?> send(K key, V payload, Headers headers, Class keyClass, Class payloadClass) {
return new RequestReplyBuilder(KafkaRequestBuilderBase.apply(toStringExpression(this.requestName)).requestReply()
.requestTopic(toStringExpression(this.inputTopic))
.replyTopic(toStringExpression(this.outputTopic))
.send(
toStaticValueExpression(key),
toStaticValueExpression(payload),
toStaticValueExpression(headers),
Serdes.serdeFrom(keyClass),
ClassTag.apply(keyClass),
Serdes.serdeFrom(payloadClass),
ClassTag.apply(payloadClass)
));
}
public RequestReplyBuilder, ?> send(K key, V payload, Class keyClass, Class payloadClass) {
return new RequestReplyBuilder(KafkaRequestBuilderBase.apply(toStringExpression(this.requestName)).requestReply()
.requestTopic(toStringExpression(this.inputTopic))
.replyTopic(toStringExpression(this.outputTopic))
.send(
toStaticValueExpression(key),
toStaticValueExpression(payload),
toStaticValueExpression(new RecordHeaders()),
Serdes.serdeFrom(keyClass),
ClassTag.apply(keyClass),
Serdes.serdeFrom(payloadClass),
ClassTag.apply(payloadClass)
));
}
public RequestReplyBuilder, ?> send(K key, V payload, Class keyClass, Class payloadClass, Serializer ser, Deserializer de) {
return new RequestReplyBuilder(KafkaRequestBuilderBase.apply(toStringExpression(this.requestName)).requestReply()
.requestTopic(toStringExpression(this.inputTopic))
.replyTopic(toStringExpression(this.outputTopic))
.send(
toStaticValueExpression(key),
toStaticValueExpression(payload),
toStaticValueExpression(new RecordHeaders()),
Serdes.serdeFrom(keyClass),
ClassTag.apply(keyClass),
Serdes.serdeFrom(ser, de),
ClassTag.apply(payloadClass)
));
}
public RequestReplyBuilder, ?> send(K key, V payload, Headers headers, Class keyClass, Class payloadClass, Serializer ser, Deserializer de) {
return new RequestReplyBuilder(KafkaRequestBuilderBase.apply(toStringExpression(this.requestName)).requestReply()
.requestTopic(toStringExpression(this.inputTopic))
.replyTopic(toStringExpression(this.outputTopic))
.send(
toStaticValueExpression(key),
toStaticValueExpression(payload),
toStaticValueExpression(headers),
Serdes.serdeFrom(keyClass),
ClassTag.apply(keyClass),
Serdes.serdeFrom(ser, de),
ClassTag.apply(payloadClass)
));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy