Skip to content

Commit c3961b9

Browse files
committed
Version 3.5
1 parent bf58449 commit c3961b9

File tree

6 files changed

+30
-7
lines changed

6 files changed

+30
-7
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Add to your `pom.xml`
1111
<dependency>
1212
<groupId>io.github.amerousful</groupId>
1313
<artifactId>gatling-kafka</artifactId>
14-
<version>3.4</version>
14+
<version>3.5</version>
1515
</dependency>
1616
```
1717

@@ -20,7 +20,7 @@ Add to your `pom.xml`
2020
Add to your `build.sbt`
2121

2222
```scala
23-
libraryDependencies += "io.github.amerousful" % "gatling-kafka" % "3.4"
23+
libraryDependencies += "io.github.amerousful" % "gatling-kafka" % "3.5"
2424
```
2525

2626
Import:

build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name := "gatling-kafka"
22

3-
version := "3.4"
3+
version := "3.5"
44

55
scalaVersion := "2.13.12"
66

changelog.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
Changelog 3.5 (10-11-2024)
2+
----------------------------
3+
* Added support for SSL using truststore
4+
* Fix single initialization of properties for Kafka consumer
5+
16
Changelog 3.4 (02-08-2024)
27
----------------------------
38
* Fix. Remove `seekToEnd` after rebalancing

src/main/java/io/github/amerousful/kafka/javaapi/KafkaProtocolBuilder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ public KafkaProtocolBuilder ssl(@NonNull String protocol, @NonNull String keysto
9090
return new KafkaProtocolBuilder(wrapped.ssl(protocol, keystoreLocation, keystorePassword, keyPassword));
9191
}
9292

93+
@NonNull
94+
public KafkaProtocolBuilder ssl(@NonNull String protocol, @NonNull String keystoreLocation, @NonNull String keystorePassword, @NonNull String keyPassword, @NonNull String trustStoreLocation, @NonNull String trustStorePassword) {
95+
return new KafkaProtocolBuilder(wrapped.ssl(protocol, keystoreLocation, keystorePassword, keyPassword, trustStoreLocation, trustStorePassword));
96+
}
97+
9398
@NonNull
9499
public KafkaProtocolBuilder replyTimeout(long timeout) {
95100
return replyTimeout(Duration.ofSeconds(timeout));

src/main/scala/io/github/amerousful/kafka/client/KafkaTrackerPoll.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class KafkaTrackerPoll(
5050
case TrackerAndController(_, consumerControl) => consumerControl.shutdown()
5151
}
5252

53-
private val consumerPropertiesTrackerPool: Map[String, AnyRef] = (Map(
53+
private def consumerPropertiesTrackerPool: Map[String, AnyRef] = (Map(
5454
"enable.auto.commit" -> "true",
5555
"auto.offset.reset" -> "latest"
5656
) ++ consumerProperties).updatedWith("group.id")({

src/main/scala/io/github/amerousful/kafka/protocol/KafkaProtocolBuilder.scala

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ package io.github.amerousful.kafka.protocol
22

33
import com.softwaremill.quicklens.ModifyPimp
44
import io.github.amerousful.kafka.protocol.AutoOffsetReset.AutoOffsetReset
5-
import org.apache.kafka.clients.producer.ProducerConfig._
6-
import org.apache.kafka.clients.consumer.ConsumerConfig._
75
import io.github.amerousful.kafka.protocol.SaslMechanism.SaslMechanism
6+
import org.apache.kafka.clients.consumer.ConsumerConfig._
7+
import org.apache.kafka.clients.producer.ProducerConfig._
88

99
import scala.concurrent.duration.FiniteDuration
1010

@@ -64,6 +64,19 @@ final case class KafkaProtocolBuilder(kafkaProtocol: KafkaProtocol) {
6464
.addConsumerAndProducerProperty("ssl.key.password", keyPassword)
6565
}
6666

67+
def ssl(
68+
protocol: String,
69+
keystoreLocation: String,
70+
keystorePassword: String,
71+
keyPassword: String,
72+
trustStoreLocation: String,
73+
trustStorePassword: String
74+
): KafkaProtocolBuilder = {
75+
ssl(protocol, keystoreLocation, keystorePassword, keyPassword)
76+
.addConsumerAndProducerProperty("ssl.truststore.location", trustStoreLocation)
77+
.addConsumerAndProducerProperty("ssl.truststore.password", trustStorePassword)
78+
}
79+
6780
def addProducerProperty(key: String, value: String): KafkaProtocolBuilder = {
6881
this.modify(_.kafkaProtocol.producerProperties)(_ + (key -> value))
6982
}
@@ -89,7 +102,7 @@ final case class KafkaProtocolBuilder(kafkaProtocol: KafkaProtocol) {
89102

90103
def schemaUrl(url: String): KafkaProtocolBuilder = addConsumerAndProducerProperty("schema.registry.url", url)
91104

92-
def disableAutoCommit() = addConsumerProperty(ENABLE_AUTO_COMMIT_CONFIG, "false")
105+
def disableAutoCommit() = addConsumerProperty(ENABLE_AUTO_COMMIT_CONFIG, "false")
93106

94107
def autoOffsetResetPolicy(value: AutoOffsetReset) = addConsumerProperty(AUTO_OFFSET_RESET_CONFIG, value)
95108

0 commit comments

Comments
 (0)