import javax.jms.*;
import javax.naming.*;
import java.util.Hashtable;
public class Producer {
public static void main(String[] args) {
try {
Hashtable<String, String> env = new Hashtable<>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
env.put(Context.PROVIDER_URL, "tcp://localhost:61616");
Context context = new InitialContext(env);
ConnectionFactory cf = (ConnectionFactory) context.lookup("ConnectionFactory");
Destination destination = (Destination) context.lookup("Queue");
Connection connection = cf.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage();
message.setText("Hello, JMS!");
producer.send(message);
producer.close();
session.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
import javax.jms.*;
import javax.naming.*;
import java.util.Hashtable;
public class Consumer {
public static void main(String[] args) {
try {
Hashtable<String, String> env = new Hashtable<>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
env.put(Context.PROVIDER_URL, "tcp://localhost:61616");
Context context = new InitialContext(env);
ConnectionFactory cf = (ConnectionFactory) context.lookup("ConnectionFactory");
Destination destination = (Destination) context.lookup("Queue");
Connection connection = cf.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageConsumer consumer = session.createConsumer(destination);
connection.start();
Message message = consumer.receive();
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("Received message: " + textMessage.getText());
}
consumer.close();
session.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}