Skip to content

Instantly share code, notes, and snippets.

@dagvadorj
Created May 29, 2014 02:11
Show Gist options
  • Save dagvadorj/2a8f78d62f20a0f88f41 to your computer and use it in GitHub Desktop.
Save dagvadorj/2a8f78d62f20a0f88f41 to your computer and use it in GitHub Desktop.
package com.mycompany;
import java.net.URISyntaxException;
import java.util.Date;
import java.util.UUID;
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
import org.apache.qpid.AMQException;
import org.apache.qpid.client.AMQAnyDestination;
import org.apache.qpid.client.AMQConnection;
import org.apache.qpid.url.URLSyntaxException;
/**
*
*/
public class Client {
public static void main(String[] args)
throws AMQException, URLSyntaxException, JMSException,
URISyntaxException {
System.out.println("client");
Connection connection
= new AMQConnection("amqp://guest:guest@default/?"
+ "brokerlist='tcp://localhost:5672'");
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
Destination messageQueue = new
AMQAnyDestination("ADDR:message_queue; {create: always}");
Destination replyQueue = session.createTemporaryQueue();
MessageProducer producer = session.createProducer(messageQueue);
MessageConsumer consumer = session.
createConsumer(replyQueue);
MapMessage message = session.createMapMessage();
message.setString("d", new Date().toString());
message.setJMSReplyTo(replyQueue);
message.setJMSCorrelationID(UUID.randomUUID().toString());
producer.send(message);
connection.stop();
connection.start();
Message reply = consumer.receive();
System.out.println("sent");
message.acknowledge();
System.out.println("received");
System.out.println(reply);
connection.close();
}
}
package com.mycompany;
import java.net.URISyntaxException;
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.qpid.AMQException;
import org.apache.qpid.client.AMQAnyDestination;
import org.apache.qpid.client.AMQConnection;
import org.apache.qpid.url.URLSyntaxException;
/**
*
*/
public class Server {
public static void main(String[] args)
throws AMQException, URLSyntaxException, JMSException,
URISyntaxException {
System.out.println("server");
Connection connection
= new AMQConnection("amqp://guest:guest@default/?"
+ "brokerlist='tcp://localhost:5672'");
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
Destination queue = new
AMQAnyDestination("ADDR:message_queue; {create: always}");
MessageConsumer consumer = session.createConsumer(queue);
while (true) {
connection.start();
Message message = consumer.receive();
System.out.println("received");
Destination replyQueue = message.getJMSReplyTo();
System.out.println(replyQueue);
MessageProducer producer =
session.createProducer(message.getJMSReplyTo());
TextMessage replyMessage = session.createTextMessage();
replyMessage.setText("oo");
replyMessage.setJMSDestination(replyQueue);
replyMessage.setJMSCorrelationID(message.getJMSCorrelationID());
System.out.println(replyMessage);
producer.send(replyMessage);
System.out.println("sent");
connection.stop();
System.out.println("w");
try {
Thread.sleep(100);
} catch (InterruptedException ex) {
continue;
}
System.out.println("r");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment