title: Camel ProducerTemplate send to a JMS message property
body: <p>In my camel project, i need to send some message to a <strong>gateway</strong> (which will receive it as a <strong>JMS</strong> message).</p>
  
  <p>For gateway, besides the message text, there will be some other string properties using <code>jmsMessage.getStringProperty("xxx");</code></p>
  
  <p>In my camel project, my code is something like below:</p>
  
  <pre><code>@Produce(uri = "xxx")
  private ProducerTemplate template;
  
  @Override
  public void sendToQueue(String textMessage, Map&lt;String, String&gt; properties) {
      template.sendBody(textMessage);
  }
  </code></pre>
  
  <p>I know if I just send a string text message I will invoke the sendBody method which receive one argument. I just wondering how should I sent the properties using camel and on the other side they can receive the properties as <strong>JMS</strong> TextMessage string properties.</p>
  
  <p>Also what's the meaning for camel headers, it's also a map.</p>