title: Sending message to RabbitMQ using JMS
body: <p>I am new to RabbitMQ and trying to send a message to RabbitMQ using JMS. I have the below standard JMS producer program:</p>
  
  <pre class="lang-java prettyprint-override"><code>public void sendMessage() {
      Context context = null;
      ConnectionFactory factory = null;
      Destination destination = null;
      Connection connection = null;
      Session session = null;
      MessageProducer producer = null;
  
      Properties initialProperties = new Properties();
      initialProperties.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.wildfly.naming.client.WildFlyInitialContextFactory");
      initialProperties.put(InitialContext.PROVIDER_URL, "http-remoting://IP:PORT");
      initialProperties.put(Context.SECURITY_PRINCIPAL, "mquser");
      initialProperties.put(Context.SECURITY_CREDENTIALS, "Mquser@123");
      try {
          context = new InitialContext(initialProperties);
          factory = (QueueConnectionFactory) context.lookup("jms/RemoteConnectionFactory");
  
          System.out.println("Lookup Success");
          destination = (Destination) context.lookup("jms/queue/TestQueue");
          System.out.println("Queue lookup success");
          connection = factory.createConnection();
          session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
          producer = session.createProducer(destination);
  
          String text = "8=FIX.4.49=7735=349=A56=B34=352=20200115-13:18:26.000 45=322222=D100208103222223=40558=Invalid FIX2ITFMsgType10=226";
          TextMessage textMessage = session.createTextMessage();
          textMessage.setText(text);
          connection.start();
          System.out.println("Going to send");
          producer.send(textMessage);
          System.out.println(this.getClass().getName() + "has sent a message : " + text);
      } catch (NamingException e) {
          e.printStackTrace();
      } catch (JMSException e) {
          e.printStackTrace();
      } finally {
          if (context != null) {
              try {
                  context.close();
              } catch (NamingException ex) {
                  ex.printStackTrace();
              }
          }
          if (connection != null) {
              try {
                  connection.close();
              } catch (JMSException ex) {
                  ex.printStackTrace();
              }
          }
      }
  }
  </code></pre>
  
  <p>Which I am using to send message to ActiveMQ Artemis embedded in JBoss EAP 7.2. As I have found in <a href="https://www.rabbitmq.com/jms-client.html" rel="nofollow noreferrer">this link</a> I will not be able to use the above program to send message to RabbitMQ, but will of the below parameters:</p>
  
  <ol>
  <li>Username</li>
  <li>Password</li>
  <li>VirtualHost</li>
  <li>Host</li>
  <li>Port</li>
  <li>DestinationName</li>
  <li>ExchangeName</li>
  <li>QueueName</li>
  <li>RoutingKey</li>
  </ol>
  
  <p>Can anyone give me an example of a standard program for sending message to RabbitMQ. I am using Spring Boot and can also use its features.</p>