Помогите написать JMS заглушку в NETBeans
Необходимо написать JMS заглушку в NetBeans. Задание: Во внешнюю систему, очередь ToOtherBank JMSCorrelationID запроса и ответ должен совпадать
<accountTransferRq>
<fromAcc>11111111111111111111</fromAcc>
<sum>100.0</sum>
<toAcc>22222222222222222222</toAcc>
</accountTransferRq>
Ответ в очередь FromOtherBank
<accountTransferRs>
<description>Description</description>
<statusCode>1</statusCode>
</accountTransferRs>
Что уже есть:
package javaapplication5;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
public class JavaApplication5 {
static Connection connection;
static Session session;
private static void init() {
try {
ConnectionFactory factory = new com.tibco.tibjms.TibjmsConnectionFactory("******");
connection = factory.createConnection("admin","");
session = connection.createSession();
} catch (JMSException ex) {
System.out.println("Error create connection");
}
}
public static void main(String[] args) {
init();
sendMessage("input", "testText OK", "123");
String textMessage = getMessage("input", "123");
System.out.println("receive text = "+textMessage);
if(textMessage.contains("OK")){
}else{
}
}
public static void sendMessage(String queue,String msgText,String correlationID) {
try {
TextMessage tmsg = session.createTextMessage(msgText);
tmsg.setJMSCorrelationID(correlationID);
Queue queueInput = session.createQueue(queue);
MessageProducer mp = session.createProducer(null);
mp.send(queueInput, tmsg);
} catch (JMSException ex) {
System.out.println("Error create message");
}
}
public static String getMessage(String queue,String correlationId) {
try {
Queue queueOutput = session.createQueue(queue);
String query = "JMSCorrelationID ='"+correlationId+"'";
MessageConsumer mc = session.createConsumer(queueOutput, query);
connection.start();
TextMessage tmsg = (TextMessage) mc.receive(10000);
mc.close();
connection.stop();
return tmsg.getText();
} catch (JMSException ex) {
System.out.println("Error getMessage");
}
return null;
}
}