<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.16.2</version>
<scope>provided</scope>
</dependency>
properties
# ActiveMQ Broker URL
broker.url=tcp://localhost:61616
import javax.jms.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import java.util.Properties;
public class MessageProducer {
public static void main(String[] args) throws Exception {
Properties properties = new Properties();
properties.load(MessageProducer.class.getClassLoader().getResourceAsStream("jms.properties"));
String brokerUrl = properties.getProperty("broker.url");
Context context = new InitialContext();
ConnectionFactory factory = (ConnectionFactory) context.lookup("ConnectionFactory");
Connection connection = factory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = (Queue) context.lookup("MyQueue");
MessageProducer producer = session.createProducer(queue);
TextMessage message = session.createTextMessage();
message.setText("Hello, Queue!");
producer.send(message);
connection.close();
}
}
import javax.jms.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import java.util.Properties;
public class MessageConsumer implements MessageListener {
public static void main(String[] args) throws Exception {
Properties properties = new Properties();
properties.load(MessageConsumer.class.getClassLoader().getResourceAsStream("jms.properties"));
String brokerUrl = properties.getProperty("broker.url");
Context context = new InitialContext();
ConnectionFactory factory = (ConnectionFactory) context.lookup("ConnectionFactory");
Connection connection = factory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = (Queue) context.lookup("MyQueue");
MessageConsumer consumer = session.createConsumer(queue);
consumer.setMessageListener(new MessageConsumer());
connection.start();
Thread.sleep(100000);
connection.close();
}
@Override
public void onMessage(Message message) {
try {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("Received message: " + textMessage.getText());
}
} catch (JMSException e) {
e.printStackTrace();
}
}
}