내가 1000000로 수신 된 메시지 길이를 부여했지만 메시지의 길이는 몇 가지 한계를 초과하면 내가 얼마나 모르는 Recived JMS 메시지는
import java.io.FileInputStream;
import javax.jms.JMSException;
import javax.jms.Session;
import com.ibm.jms.JMSMessage;
import com.ibm.jms.JMSTextMessage;
import com.ibm.mq.jms.JMSC;
import com.ibm.mq.jms.MQQueue;
import com.ibm.mq.jms.MQQueueConnection;
import com.ibm.mq.jms.MQQueueConnectionFactory;
import com.ibm.mq.jms.MQQueueReceiver;
import com.ibm.mq.jms.MQQueueSender;
import com.ibm.mq.jms.MQQueueSession;
public class SimplePTP {
public static void main(String[] args) {
try {
MQQueueConnectionFactory cf = new MQQueueConnectionFactory();
String request= null;
// Config
cf.setHostName("CTMQ9000");
cf.setPort(1414);
cf.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);
cf.setQueueManager("CTMQTST01");
cf.setChannel("SYSTEM.ADMIN.SVRCONN");
MQQueueConnection connection = (MQQueueConnection) cf.createQueueConnection();
MQQueueSession session = (MQQueueSession) connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
MQQueue queue = (MQQueue) session.createQueue("CONTPLAT.CPS.DELIVERYPREP.REQUEST.TEST");
MQQueueSender sender = (MQQueueSender) session.createSender(queue);
MQQueue queue1 = (MQQueue) session.createQueue("CONTPLAT.CPS.DELIVERYPREP.RESPONSE.TEST");
MQQueueReceiver receiver = (MQQueueReceiver) session.createReceiver(queue1);
String request ="sdfHelp Me Name name for Photo Studio!I'm opening a portrait studio in a my town and am stuck on what to name it. I will be photographing (Portrait, wedding Photography)) children and families both at the studio and on location.sdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffsdf"
long uniqueNumber = System.currentTimeMillis() % 1000;
JMSTextMessage message = (JMSTextMessage) session.createTextMessage(request);
// Start the connection
connection.start();
sender.send(message);
System.out.println("Sent message:\\n" + message +"lol");
Thread.sleep(2000);
JMSMessage receivedMessage = (JMSMessage) receiver.receive(10000000);
System.out.println("\\nReceived message:\\n" + receivedMessage);
sender.close();
receiver.close();
session.close();
connection.close();
System.out.println("\\nSUCCESS\\n");
}
catch (JMSException jmsex) {
System.out.println(jmsex);
System.out.println("\\nFAILURE\\n");
}
catch (Exception ex) {
System.out.println(ex);
System.out.println("\\nFAILURE\\n");
}
}
}
아래 여전히 메시지가 잘립니다 완료됩니다 코드가 잘립니다 그러나 잘려나 가면서, 메시지를 표시하기 위해 어떤 방법 으로든 늘리거나 해결할 수 있습니다.
나는 너희 둘 모두에 동의한다. 내 보낸 메시지를 소비하는 다른 응용 프로그램이 있고 해당 응답이 내 수신자 큐에 넣습니다.받은 메시지와 인쇄 된 메시지가 완전한 메시지가 아닙니다. 그래서 그 메시지가 잘린 것입니다. 전체 메시지를 인쇄 할 수있는 방법이 있습니까? ? –
나는 다른 쪽에서 당신이 기대하는 메시지를 분명히 보내고 있는지 확인하고 싶다. 그리고 로컬 컴퓨터에서 ActiveMq (또는 다른 것)를 설정하여 코드를 테스트하고 응용 프로그램이 로컬 대기열을 가리킬 수도 있습니다. 그런 다음 내용 일치를 확인할 수 있습니다. – DaveRlz
해결책을 얻었습니다 System.out.println ("\\ n받은 메시지 : \\ n"+ receivedMessage.getText()); 방금 .getText()라는 메시지를 받았습니다. –