I created and deployed a MDB. I built a test client which send message to the MDB. It looks as follow:
***************
public static void main(String[] args) {
new TestSendMessage();
}
public TestSendMessage() {
super();
System.out.println("this is a client to send message");
try {
QueueConnection queueConnection = MyMessageUtil.getQueueConn
ection();
// Die konfigurierte Queue holen:
Queue queue = MyMessageUtil.getQueue();
// Verbindung erzeugen:
QueueSession queueSession = queueConnection.createQueu
eSession(
false, Session.AUTO_ACKNOWLEDGE);
QueueSender queueSender = queueSession.createSender(
queue);
// Senden der Nachricht:
TextMessage textMessage = queueSession.createTextMes
sage();
textMessage.setText("I am from China");
queueSender.send(textMessa
ge);
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
****************
Now I try to build a test client to receive the message. My codes look as folow:
***********
public TestReceiveMessage() {
super();
System.out.println("this is a client to receive message");
try {
// Get QueueConnectionFactory
QueueConnection queueConnection = MyMessageUtil.getQueueConn
ection();
// Die konfigurierte Queue holen:
Queue queue = MyMessageUtil.getQueue();
// Verbindung erzeugen:
QueueSession queueSession = queueConnection.createQueu
eSession(f
alse,Sessi
on.AUTO_AC
KNOWLEDGE)
;
QueueReceiver queueReceiver = queueSession.createReceive
r(queue);
// Empfang der Nachricht:
Message message = queueReceiver.receive();
System.out.println(message
);
System.out.println("End");
} catch (Exception e) {
// TODO: handle exception
}
}
****************
But as I run it, but it seems it doesn't go to end. It is waiting...
Start Free Trial