Можно ли спасти сообщения из хранилища файлов Weblogic JMS? - PullRequest
1 голос
/ 03 февраля 2012

У меня есть несколько хранилищ файлов JMS с сервера Weblogic 10.3, и я хотел бы получить содержащиеся в них сообщения, если это возможно, без использования Weblogic. Возможно ли это?

Много лет назад я смог прочитать хранилище файлов JMS для предыдущей версии Weblogic, используя сериализацию Java (ObjectInputStream), но у меня есть файлы, которые дают мне

java.io.StreamCorruptedException: invalid stream header: C001BEAD

исключение, когда я открываю их с помощью ObjectInputStream. Мне интересно, есть ли заголовок файла, который мне нужно пропустить, прежде чем я смогу десериализовать сообщения, или, возможно, эта версия Weblogic вообще не использует сериализацию Java.

Сообщения в файле - это MapMessages. Я вижу строки, соответствующие ключам карты, когда я делаю шестнадцатеричный дамп файла, но, конечно, значения не читаются таким образом. Но тот факт, что я вижу ключи карты, вселяет надежду на то, что сообщения сериализуются в файле.

Любые идеи о том, как спасти данные?

Ответы [ 2 ]

2 голосов
/ 08 октября 2012
  1. Отложите в безопасное место все файлы * .dat, которые вы хотите сохранить.
  2. Запуск веб-логики и вход в консоль администратора
  3. Перейти на главную страницу -> Сводка по JMS-серверам -> XL-JMS-Server
  4. Включить «Вставка приостановлена ​​при запуске»
  5. Включить «Приостановка производства при запуске»
  6. Включить «Приостановлено потребление при запуске», приостановлено
  7. Сохранить настройки
  8. Завершение работы Weblogic
  9. Поменяйте хранилище данных JMS, которое вы хотите сохранить
  10. Запустить Weblogic
  11. Просмотрите страницу мониторинга JMS, чтобы увидеть, какие очереди и темы сохраняют сообщения.

На этом этапе хранилище данных готово для проверки / выгрузки с использованием написанного вами QueueBrowser или TopicSubscriber. Кроме того, вы можете просматривать сообщения ad hoc, используя Hermes JMS (http://www.hermesjms.com). В Hermes есть средства визуализации сообщений, которые вы можете реализовать для своих пользовательских типов сообщений.

0 голосов
/ 13 февраля 2012

Единственный способ, которым мы и служба поддержки Oracle смогли придумать, - это создать другой экземпляр Weblogic, настроенный таким же образом, и позволить этому экземпляру Weblogic собирать и обрабатывать сообщения.

...