JMS onMessage ByteMessage записать в файл PDF - PullRequest
2 голосов
/ 25 февраля 2011

У меня есть прослушиватель Spring JMS, который получает сообщение BytesMessage / JMSBytesMessage.Я хочу преобразовать это сообщение в файл PDF и записать его на диск.

public void onMessage(Message message) {

BytesMessage bmsg = (BytesMessage) message;

ByteArrayOutputStream bout = new ByteArrayOutputStream();


}

Я знаю, что мне нужно сделать что-то вроде msg.readBytes, но у меня возникают проблемы при сборке всего ... можеткто-то предлагает несколько советов.

спасибо

1 Ответ

2 голосов
/ 25 февраля 2011

Что-то простое, как это должно работать:

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
   }
}

Это должно работать нормально, если размер данных не очень велик.

...