Solace JMS Queue Publisher Hello World

Solace JMS Queue Publisher Hello World

If have just started with Solace and want to send some test message on the newly created Solace queue using JMS API then please use below sample Hello World program.

Solace JMS version: sol-jms-7.1.2.230

  • To run this program you will need below jar:

Solace JMS Queue Publisher Hello World

You will also need below information:

  • SOLACE_HOST=tcp://url:portnumber
  • SOLACE_VPN=VPN NAME
  • SOLACE_CONNECTION_FACTORY=JMS connection factory
  • SOLACE_OUTPUT_QUEUE_NAME=queue name
  • SOLACE_USERNAME_PUB=user name
  • SOLACE_PASSWORD_PUB=password

Sample program:

  • JavaHonkSolaceQueuePublisherHelloWorld.java:
package com.javahonk.jms.solace;

import java.util.Hashtable;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import com.solacesystems.jms.SupportedProperty;

public class JavaHonkSolaceQueuePublisherHelloWorld {
	
	public static void main(String args[]) throws JMSException, NamingException {
    	
		System.out.println("JavaHonkSolaceQueuePublisherHelloWorld initializing...");
        
        Hashtable<String, Object> env = new Hashtable<String, Object>();
        env.put(InitialContext.INITIAL_CONTEXT_FACTORY, "com.solacesystems.jndi.SolJNDIInitialContextFactory");
        env.put(InitialContext.PROVIDER_URL, "tcp://URL:PORT NUMBER");
        env.put(SupportedProperty.SOLACE_JMS_VPN, "VPN NAME");
        env.put(Context.SECURITY_PRINCIPAL, "USER NAME");
        env.put(Context.SECURITY_CREDENTIALS, "PASSWORD");
        
        InitialContext initialContext = new InitialContext(env);
        ConnectionFactory cf = (ConnectionFactory)initialContext.lookup("JMS CONNECTION FACTORY NAME");    	
    	Connection connection = cf.createConnection();

        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        Destination destination = (Destination)initialContext.lookup("QUEUE NAME");

        MessageProducer producer = session.createProducer(destination);

        TextMessage testMessage = session.createTextMessage("Java Honk Solace Hello world!");
        
        System.out.printf("Connected. About to send message "+testMessage.getText() +" -- "+ destination.toString());

        producer.send(testMessage);
		
		System.out.println("Message sent. Exiting.");

        connection.close();

        initialContext.close();
    }    
}

Reference:

Leave a Reply

Your email address will not be published. Required fields are marked *