code: public QueueProducer<Object> createQueueJsonMessageProducer(final String topic)
      {
          Preconditions.checkState(connectionFactory != null, "connection factory was never injected!");
          return new QueueProducer<Object>(connectionFactory, jmsConfig, topic, producerCallback);
      }
docs: Creates a new {@link QueueProducer}. The producer accepts arbitrary objects and uses the Jackson object mapper to convert them into
  JSON and sends them as a text message.