Is there a way that this functionality could be added as an extension to the Producer API, rather than adding extra complexity to the existing interface for those who don't need it. Maybe introduce a TransactionalProducer interface in addition to the existing Producer interface?
Thanks, Jonathan