In my web application, I should be creating a single instance of a producer
correct?

So in scala I should be doing something like:

object KafkaProducer {
  // props...
   val producer = new Producer[AnyRef, AnyRef](new ProducerConfig(props))
}

And then say in my QueueService I would do:

class QueueService {

def send(topic: String, message: Array[Byte], partition: Array[Byte]): Unit
= {
    try {
      KakfaProducer.producer.send(new KeyedMessage(topic,message,
partition))
    } catch {
      case e: Exception =>
        e.printStackTrace
        System.exit(1)
    }
  }

}

Threading wise, is this correct?

Reply via email to