import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class MessageProducer {
public static void main(String[] args) throws JMSException {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("balance transfer");
MessageProducer producer = session.createProducer(topic);
Message message = session.createTextMessage("Transfer $1000 from account A to account B");
message.setStringProperty("balance", "1000");
producer.send(message);
connection.close();
}
}
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class MessageConsumer {
public static void main(String[] args) throws JMSException {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("balance transfer");
MessageConsumer consumer = session.createConsumer(topic, "balance > 500");
Message message = consumer.receive();
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("Received message: " + textMessage.getText());
}
connection.close();
}
}