code: public <T> QueueProducer<T> createQueueProducer(final String topic, final ProducerCallback<T> messageCallback)
      {
          Preconditions.checkState(connectionFactory != null, "connection factory was never injected!");
          return new QueueProducer<T>(connectionFactory, jmsConfig, topic, messageCallback);
      }
docs: Creates a new {@link QueueProducer}. The callback is called to convert an object that is sent into the QueueProducer
  into a JMS message type.