|
JMS message Producer and Consumer class- JMSProducerConsumer.java
Asynchronous Client - ASyncClient.java
package oracle.otnsamples.jms;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.jms.Queue;
import javax.jms.Topic;
import javax.jms.Session;
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.TextMessage;
import javax.jms.MessageProducer;
import javax.jms.MessageConsumer;
import javax.jms.ConnectionFactory;
import java.util.Hashtable;
public class JMSProducerConsumer{
public JMSProducerConsumer()
{}
public static void main (String args[]) throws Exception{
try{
JMSProducerConsumer obj = new JMSProducerConsumer();
String message = new String();
for(int i=0; i<args.length; i++)
message = message + " " +args[i];
obj.performMessagingOperations(message);
}
catch(Exception e){
e.printStackTrace();
}
}
private void performMessagingOperations(String userMsg)
throws Exception{
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.evermind.server.rmi.RMIInitialContextFactory");
env.put(Context.PROVIDER_URL, ConnectionParams.PROVIDER_URL);
env.put(Context.SECURITY_PRINCIPAL, ConnectionParams.USERNAME);
env.put(Context.SECURITY_CREDENTIALS, ConnectionParams.PASSWORD);
InitialContext ctx = new InitialContext(env);
Destination queue = (Destination) ctx.lookup("jms/sampleQueue");
Destination topic = (Destination) ctx.lookup("jms/sampleTopic");
ConnectionFactory factory = (ConnectionFactory) ctx.
lookup("jms/sampleConnectionFactory");
Connection connection = factory.createConnection();
Session session = connection.createSession(true,
Session.AUTO_ACKNOWLEDGE);
MessageProducer sender = session.createProducer(queue);
MessageConsumer receiver = session.createConsumer(queue);
MessageProducer publisher = session.createProducer(topic);
connection.start();
System.out.println("Sending Message to the queue");
sender.send(session.createTextMessage(userMsg));
session.commit();
System.out.println("Consuming messages from queue"+
" and sending it to the topic");
TextMessage msg = (TextMessage) receiver.receive();
publisher.send(msg);
session.commit();
connection.close();
}
}
|