Yes, the producer is thread safe, and sharing instances will be more efficient if you are producing in async mode.
-Jay On Mon, Jun 16, 2014 at 9:12 AM, S Ahmed <sahmed1...@gmail.com> wrote: > 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? >