Shouldn't your producer be at the controller scope? Instantiating it every time is probably nto the correct pattern. You probably want to use a asych producer also right?
On Mon, Feb 4, 2013 at 7:12 PM, charlie w <spambait...@gmail.com> wrote: > It seems the issue is related to Scala versions. I grabbed from > https://github.com/kevinwright/kafka > and built with > sbt "++2.10.0 package" > > I'm able to have my Play app produce messages for Kafka now. > > > On Fri, Feb 1, 2013 at 5:32 PM, charlie w <spambait...@gmail.com> wrote: > > Is it possible to have a Kafka 0.8 producer inside a Play Framework > > controller? (I am new to both Kafka and Play.) > > > > I have managed to get Java code cribbed from the Kafka examples > > (below) to compile and execute within Play, but constructing the > > ProducerConfig object never returns. I am not finding anything in any > > Play log. > > > > I've also tried this using the Scala console producer as a model and > > had the same result > > > > The Kafka console producer and consumer samples are working for me. > > > > Thanks > > Charlie > > > > code: > > > > > > package controllers; > > > > import java.util.Properties; > > > > import kafka.producer.ProducerConfig; > > import kafka.javaapi.producer.Producer; > > import kafka.producer.KeyedMessage; > > > > public class Hello > > { > > public static void hello( String v ) > > { > > Properties props = new Properties(); > > props.put("zk.connect", "127.0.0.1:2181"); > > props.put("serializer.class", "kafka.serializer.StringEncoder"); > > props.put("broker.list", "localhost:9092" ); > > > > play.Logger.info("create config"); > > ProducerConfig config = new ProducerConfig(props); > > > > play.Logger.info("create producer"); > > Producer<Integer, String> producer = new Producer<Integer, > > String>(config); > > > > play.Logger.info("yay!"); > > > > KeyedMessage msg = new KeyedMessage<Integer, > > String>("test-topic", "Greetings!"); > > > > producer.send( msg ); > > } > > } >