Getting Started with JMS Messaging- ActiveMQ Hello World Tutorial
Lets Begin
Download ActiveMQ from http://activemq.apache.org/download.html. Extract it. In the bin folder click on activemq.bat and start ActiveMQ as follows.

We will now write java code to create a queue named Queue and produce and consume message from it.
Create the eclipse project as follows

As shown above include the following jars(available in activemq/lib) to the classpath.
- geronimo-j2ee-management_1.1_spec-1.0.1.jar
- geronimo-jms_1.1_spec-1.1.1.jar
- slf4j-api-1.7.13.jar
- activemq-client-5.13.0.jar
Create Producer.java-
package com.javainuse.producer;
import javax.jms.Connection;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
public class Producer implements Runnable {
public void run() {
try { // Create a connection factory.
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
//Create connection.
Connection connection = factory.createConnection();
// Start the connection
connection.start();
// Create a session which is non transactional
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create Destination queue
Destination queue = session.createQueue("Queue");
// Create a producer
MessageProducer producer = session.createProducer(queue);
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
String msg = "Hello World";
// insert message
TextMessage message = session.createTextMessage(msg);
System.out.println("Producer Sent: " + msg);
producer.send(message);
session.close();
connection.close();
}
catch (Exception ex) {
System.out.println("Exception Occured");
}
}
}
package com.javainuse.consumer;
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
public class Consumer implements Runnable {
@Override
public void run() {
try {
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
//Create Connection
Connection connection = factory.createConnection();
// Start the connection
connection.start();
// Create Session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//Create queue
Destination queue = session.createQueue("Queue");
MessageConsumer consumer = session.createConsumer(queue);
Message message = consumer.receive(1000);
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
String text = textMessage.getText();
System.out.println("Consumer Received: " + text);
}
session.close();
connection.close();
}
catch (Exception ex) {
System.out.println("Exception Occured");
}
}
}
Create the main class to run the Producer and Consumer Threads.
package com.javainuse.main;
import com.javainuse.consumer.Consumer;
import com.javainuse.producer.Producer;
public class TestMQ {
public static void main(String[] args) {
Producer producer = new Producer();
Consumer consumer = new Consumer();
Thread producerThread = new Thread(producer);
producerThread.start();
Thread consumerThread = new Thread(consumer);
consumerThread.start();
}
}
Run the TestMQ.java as Java Application-

Now go to http://localhost:8161/admin/queues.jsp.

Download Source Code
Download it - ActiveMQ TutorialSee Also
Understand Java 8 Method References using Simple Example Java - PermGen space vs MetaSpace Java 8 Lambda Expression- Hello World Example Java 8 Features Java Miscelleneous Topics Java Basic Topics Java- Main Menu
Popular Posts
1Z0-830 Java SE 21 Developer Certification
Azure AI Foundry Hello World
Azure AI Agent Hello World
Foundry vs Hub Projects
Build Agents with SDK
Bing Web Search Agent
Function Calling Agent
Spring Boot + Azure Key Vault Hello World Example
Spring Boot + Elasticsearch + Azure Key Vault Example
Spring Boot Azure AD (Entra ID) OAuth 2.0 Authentication
Deploy Spring Boot App to Azure App Service
Secure Azure App Service using Azure API Management
Deploy Spring Boot JAR to Azure App Service
Deploy Spring Boot + MySQL to Azure App Service
Spring Boot + Azure Managed Identity Example
Secure Spring Boot Azure Web App with Managed Identity + App Registration
Elasticsearch 8 Security - Integrate Azure AD OIDC