I need to pass argument to my consumer, If i write 1 then my group id is true but i don't know how can pass my parameter. I configured Intelliji to accept parameter but i don't know how can i pass it
Consumer.scala
package utils
import java.util._
import org.apache.kafka.clients.consumer.{ConsumerConfig, KafkaConsumer}
import scala.collection.JavaConverters._
object Consumer {
import java.util.Properties
val TOPIC="topic1"
val props = new Properties()
props.put("bootstrap.servers", "localhost:9092")
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer")
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer")
props.put(ConsumerConfig.GROUP_ID_CONFIG,"_")
def main(args: Array[String]): Unit = {
if(args(0) == "option==1"){
props.put(ConsumerConfig.GROUP_ID_CONFIG, "true")
}else if (args(0) == "option==2"){
props.put(ConsumerConfig.GROUP_ID_CONFIG, false)
}else{
println("--------")
}
val consumer = new KafkaConsumer[String, String](props)
consumer.subscribe(util.Collections.singletonList(TOPIC))
while (true) {
val records = consumer.poll(100)
for (record <- records.asScala) {
println(record)
}
}
}
}
producer.scala
package kafka
import org.apache.log4j.Logger
object KafkaLogger {
val logger = Logger.getLogger(this.getClass.getName)
def main(args: Array[String]): Unit = {
logger.info("---------Info message---------")
}
}
I launch my producer than my consumer but i don't have a console to pass for example --option=1 or --option=2