Ich habe ein MDB geschrieben und deployt. Ich habe auch ein Test-Client geschrieben, um Message an MDB zuzusenden. Die Codes sehen wie folgend:
Ich habe auch ein TestClient, um Message abzufangen:
Hat man einen Idee?
Code:
public TestSendMessage() { super(); System.out.println("this is a client to send message"); try { QueueConnection queueConnection = MyMessageUtil.getQueueConnection(); // Die konfigurierte Queue holen: Queue queue = MyMessageUtil.getQueue(); // Verbindung erzeugen: QueueSession queueSession = queueConnection.createQueueSession( false, Session.AUTO_ACKNOWLEDGE); QueueSender queueSender = queueSession.createSender(queue); // Senden der Nachricht: TextMessage textMessage = queueSession.createTextMessage(); textMessage.setText("I am from China"); queueSender.send(textMessage); } catch (NamingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (JMSException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
Code:
public TestReceiveMessage() { super(); System.out.println("this is a client to receive message"); try { // Get QueueConnectionFactory QueueConnection queueConnection = MyMessageUtil.getQueueConnection(); // Die konfigurierte Queue holen: Queue queue = MyMessageUtil.getQueue(); // Verbindung erzeugen: QueueSession queueSession = queueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE); QueueReceiver queueReceiver = queueSession.createReceiver(queue); // Empfang der Nachricht: Message message = queueReceiver.receive(); System.out.println(message); // queueConnection.close(); System.out.println("End"); } catch (Exception e) { // TODO: handle exception } }