i have a sample program of
Java messaging service . One is sending a message , another is receiving a message . I want to know I should run it using only Jdk or I have to do it using
EJB compilation all those stuff . here are those 2:
messageSender.java
/*
* MessageSender.java
*
* Created on April 18, 2007, 9:44 AM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
/**
*
* @author 278085
*/
import javax.jms.*;
import javax.naming.*;
public class MessageSender {
public static void main(
String[] args) {
QueueConnection queueConnection = null;
try {
Context context = new InitialContext();
QueueConnectionFactory queueConnectionFactory =
(QueueConnectionFactory) context.lookup("QueueConnectionFactory");
String queueName = "MyQueue";
Queue queue = (Queue) context.lookup(queueName);
queueConnection =
queueConnectionFactory.createQueueConnection();
QueueSession queueSession =
queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
QueueSender queueSender = queueSession.createSender(queue);
TextMessage message = queueSession.createTextMessage();
message.setText("This is a TextMessage");
queueSender.send(message);
System.out.println("Message sent.");
}
catch (NamingException e) {
System.out.println("Naming Exception");
}
catch (JMSException e) {
System.out.println("JMS Exception");
}
finally {
if (queueConnection != null) {
try {
queueConnection.close();
}
catch (JMSException e) {}
}
}
}
}
MessageReceiver.java
/*
* MessageReceiver.java
*
* Created on April 18, 2007, 12:00 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
/**
*
* @author 278085
*/
import javax.jms.*;
import javax.naming.*;
public class MessageReceiver {
public static void main(String[] args) {
QueueConnection queueConnection = null;
try {
Context context = new InitialContext();
QueueConnectionFactory queueConnectionFactory =
(QueueConnectionFactory) context.lookup("QueueConnectionFactory");
String queueName = "MyQueue";
Queue queue = (Queue) context.lookup(queueName);
queueConnection =
queueConnectionFactory.createQueueConnection();
QueueSession queueSession = queueConnection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
QueueReceiver queueReceiver = queueSession.createReceiver(queue);
queueConnection.start();
Message message = queueReceiver.receive(1);
if (message != null) {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println(textMessage.getText());
}
}
}
catch (NamingException e) {
System.out.println("Naming Exception");
}
catch (JMSException e) {
System.out.println("JMS Exception");
}
finally {
if (queueConnection != null) {
try {
queueConnection.close();
}
catch (JMSException e) {}
}
}
}
}
i am getting Naming exception
