public class JMSProducer {
private static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
private static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
private static final String BORKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;
public static void main (String[] args) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BORKEURL);
try {
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("firstQueue" );
MessageProducer producer = session.createProducer(destination);
sendMessage(session, producer);
session.commit();
} catch (JMSException e) {
e.printStackTrace();
}
}
private static void sendMessage (Session session, MessageProducer producer) throws JMSException {
for (int i = 0 ; i < 10 ; i++) {
TextMessage message = session.createTextMessage("I am producer" +i);
System.out.println("send message:" +"I am producer" +i);
producer.send(message);
}
}
}
public class JMSConsumer {
private static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
private static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
private static final String BORKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;
public static void main (String[] args) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BORKEURL);
try {
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("firstQueue" );
MessageConsumer consumer = session.createConsumer(destination);
consumer.setMessageListener(new Listener());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
public class Listener implements MessageListener {
public void onMessage (Message message) {
try {
System.out.println("receive message: " +((TextMessage)message).getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
<dependency >
<groupId > org.apache.activemq</groupId >
<artifactId > activemq-all</artifactId >
<version > 5.13.3</version >
</dependency >
public class Publisher {
public static void main (String[] args) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616" );
try {
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
Topic responseTopic= session.createTopic("responseTopic" );
MessageProducer producer = session.createProducer(responseTopic);
TextMessage message = session.createTextMessage("hello world" );
producer.send(message);
System.out .println("Sent message '" + message.getText() + "'" );
} catch (JMSException e) {
e.printStackTrace();
}
}
}
public class Subscriber {
public void recrieve (final String name) {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616" );
try {
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
Topic responseTopic = session.createTopic("ResponseTopic" );
MessageConsumer consumer = session.createConsumer(responseTopic);
consumer.setMessageListener(new MessageListener() {
public void onMessage (Message message) {
TextMessage tm = (TextMessage) message;
try {
System.out .println(name +" Received message: " + tm.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
});
} catch (JMSException e) {
e.printStackTrace();
}
}
public static void main (String[] args) {
Subscriber subscriber1 = new Subscriber();
subscriber1.recrieve("subscriber1" );
Subscriber subscriber2 = new Subscriber();
subscriber2.recrieve("subscriber2" );
Subscriber subscriber3 = new Subscriber();
subscriber3.recrieve("subscriber3" );
Subscriber subscriber4 = new Subscriber();
subscriber4.recrieve("subscriber4" );
}
}