gpt4 book ai didi

java - JMSBytesMessage 到字符串和 String 到 JMSBytesMessage 类型转换

转载 作者:行者123 更新时间:2023-11-30 04:30:07 24 4
gpt4 key购买 nike

我需要向 MQ 写入消息,如果由于任何原因失败,我必须将该消息写入文本文件。我必须继续将消息添加到此文本文件,直到消息再次开始流向 MQ。一旦消息开始流动,我必须检查文本文件并从中加载所有待处理的消息并将它们从文本文件中删除。

try{
sender.send(mqMessage); where mqMessage is of JMSBytesMessage
}

现在如果消息发送失败,我必须将其写入文本文件

catch(JMSException mqe)
{
mqe.printStackTrace();
try{


String msgString= mqMessage.toString();
FileWriter fstream = new FileWriter(filePath);
BufferedWriter out = new BufferedWriter(fstream);
out.append(msgString);
out.close();
}
catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());

}

}

一旦消息开始流动,我必须读取文本文件并加载所有这些消息在 sender.send(mqMessage)

之后的第一个 try block 内

我正在读取完整的文件内容,在分割消息并将它们存储到字符串中之后,如何将该字符串类型转换为 JMSBytesMessage 类型,以便将它们放在 MQ 上。

我在这里提到了完整的场景,因为我想告诉大家,虽然我想将 JMSBytesMessage 转换为字符串,然后再次将字符串转换为 JMSBytesMessage 但我不想更改进行两种类型转换时的实际内容。

谢谢

最佳答案

字节消息到文本

int length = new Long(message.getBodyLength()).intValue();
byte[] b = new byte[length];
message.readBytes(b, length);
String text = new String(b, "UTF-8");

文本到字节消息

byte[] b = mytext.getBytes("UTF-8");
BytesMessage message = session.createBytesMessage();
message.writeBytes(bArray);

关于java - JMSBytesMessage 到字符串和 String 到 JMSBytesMessage 类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14830206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com