import javax.jms.ConnectionFactory;
import org.apache.activemq.ActiveMQConnectionFactory;
public class JMSConfig {
private static ConnectionFactory connectionFactory;
public static ConnectionFactory getConnectionFactory() {
if (connectionFactory == null) {
connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
}
return connectionFactory;
}
}
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
public class Producer {
public static void main(String[] args) {
try (Connection connection = JMSConfig.getConnectionFactory().createConnection()) {
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("myQueue");
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage("Hello, JMS!");
producer.send(message);
System.out.println("Message sent successfully.");
} catch (JMSException e) {
e.printStackTrace();
}
}
}
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Session;
import javax.jms.TextMessage;
public class Consumer {
public static void main(String[] args) {
try (Connection connection = JMSConfig.getConnectionFactory().createConnection()) {
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("myQueue");
MessageConsumer consumer = session.createConsumer(destination);
consumer.setMessageListener(new MessageListener() {
@Override
public void onMessage(Message message) {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
try {
System.out.println("Received message: " + textMessage.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
});
connection.start();
e.printStackTrace();
}
}
}