我有一个接收BytesMessage / JMSBytesMessage的Spring JMS侦听器。 我想将此消息转换为PDF文件并将其写入驱动器。
public void onMessage(Message message) {
BytesMessage bmsg = (BytesMessage) message;
ByteArrayOutputStream bout = new ByteArrayOutputStream();
}
我知道我需要做一些像msg.readBytes这样的事情,但是我把所有东西放在一起都很麻烦......有人可能提供一些提示。
感谢
答案 0 :(得分:2)
像这样简单的东西应该有效:
public void onMessage(Message message) {
try {
BytesMessage bytesMessage = (BytesMessage) message;
// copy data into a byte[] buffer
int dataSize = (int) bytesMessage.getBodyLength();
byte[] buffer = new byte[dataSize];
bytesMessage.readBytes(buffer, dataSize);
// now write the buffer to a file
File outputFile = new File("/path/to/file.pdf");
FileOutputStream fileOutput = new FileOutputStream(outputFile);
try {
fileOutput.write(buffer);
} finally {
fileOutput.close();
}
} catch (Exception ex) {
// handle exception
}
}
只要数据大小不是很大,这应该可以正常工作。