Руководство по WebSphere Application Server

ОнЛ@йн руководство с примерами по WAS

  • Главная
  • Авторское право
  • Команда
  • Контакты
  • Оглавнение

14

Дек

8.2.11. Обработка исключений в JMS

Опубликовал admin  Рубрика Часть 8. Асинхронный обмен сообщениями

Любые ошибки в процессе выполнения в JMS-приложении приводят к генерации исключения javax.jms.JMSException. Класс JMSException является корневым классом для всех исключений JMS API.

Класс JMSException содержит следующую информацию.

• Специфичную для провайдера строку описания ошибки.

• Специфичную для провайдера строку с кодом ошибки.

• Ссылку на другое исключение.

Исключение JMSException обычно является результатом генерации другого исключения в базовом JMS-провайдере. Класс JMSException позволяет клиентским JMSприложениям обращаться к исходному исключению, используя метод getLinkedException. Такое связанное исключение может использоваться для определения основной причины проблемы в JMS-провайдере.

Реализация класса JMSException не включает вложенное исключение в выходные данные метода toString. Следовательно, необходимо явным образом проверить вложенное исключение и вывести его, как показано в примере 8.10.

Пример 8.10. Обработка исключения javax.jms.JMSException

try

{

// код, который может сгенерировать исключение JMSException

}

catch (JMSException exception) {

System.err.println(«Exception caught: « + exception);

Exception linkedException = exception.getLinkedException(); if (linkedException != null)

{

System.err.println(«Linked exception: « + linkedException);

}

}

Однако при использовании получателя запросов для асинхронного получения сообщений, код приложения не может перехватывать исключения, вызываемые ошибками получения сообщений. Это объясняется тем, что код приложения не производит явного вызова методов объекта-получателя, которые получают сообщения.

JMS API предлагает для решения этой проблемы интерфейс javax.jms.Exception­ Listener. Этот получатель исключений позволяет уведомлять клиента о проблеме в асинхронном режиме. JMS-клиент должен зарегистрировать объект, реализующий этот интерфейс, в объекте-соединении, используя метод setExceptionListener. После регистрации экземпляра получателя исключений, JMS-провайдер будет вызывать его метод onException для отправки уведомления о проблеме.

Интерфейс javax.jms.ExceptionListener показан в примере 8.11.

Пример 8.11. Интерфейс javax.jms.ExceptionListene r

package javax.jms;

public interface ExceptionListener {

public void onException(JMSException exception);

}

Простой класс, реализующий интерфейс javax.jms.ExceptionListener, показан в примере 8.12.

Пример 8.12. Простая реализация класса слушателя сообщений package com.ibm.itso.jms;

import javax.jms.ExceptionListener; import javax.jms.JMSException;

public class SimpleExceptionListener implements ExceptionListener {

public void onException(JMSException exception) {

System.err.println(«Exception caught: « + exception);

Exception linkedException = exception.getLinkedException(); if (linkedException != null)

{

System.err.println(«Linked exception: « + linkedException);

}

}

}

  • Twitter
  • Одноклассники
  • ВКонтакте
  • FaceBook
  • ой Мир
« 8.2.10. Получатели JMS-сообщений
8.2.12. Возможности сервера приложений »

Рубрики

  • Часть 1. Основы
  • Часть 2. Технический обзор
  • Часть 3. Профили
  • Часть 4. Основы администрирования
  • Часть 5. Использование скриптов
  • Часть 6. Конфигурирование ресурсов
  • Часть 7. Управление Web-серверами
  • Часть 8. Асинхронный обмен сообщениями

Свежие записи

  • 8.4.8. Наилучшие подходы к работе с MDB-компонентами
  • 8.4.7. Связывание компонента, управляемого сообщением, с пунктом назначения
  • 8.4.6. Конфигурационные свойства активации MDB-компонентов
  • 8.4.5. Компоненты, управляемые сообщениями, и транзакции
  • 8.4.4. Жизненный цикл компонента, управляемого сообщениями

Страницы

  • Авторское право
  • Команда
  • Главная
    • Дополнения
    • Примечание
  • Контакты
  • Оглавнение

Последние записи

  • 8.4.8. Наилучшие подходы к работе с MDB-компонентами
  • 8.4.7. Связывание компонента, управляемого сообщением, с пунктом назначения
  • 8.4.6. Конфигурационные свойства активации MDB-компонентов
  • 8.4.5. Компоненты, управляемые сообщениями, и транзакции
  • 8.4.4. Жизненный цикл компонента, управляемого сообщениями
  • 8.4.3. Реализация компонента, управляемого сообщениями
  • 8.4.2. Взгляд на компонент, управляемый сообщениями, со стороны клиента
  • 8.4.1. Типы компонентов, управляемых сообщениями
  • 8.4. Компоненты, управляемые сообщениями
  • 8.3.5.-8.3.8 Размещение конечной точки для сообщений

Свежие комментарии

  • Комментариев нет
  • Случайные записи

    • 5. Администрирование с использованием скриптов
    • 3.3.3. Создание профиля ячейки
    • 7.2.5. Связывание модулей с серверами
    • 3.3. Создание профилей в распределенных системах (отличных от z/OS)
    • 5.2.6.5. Пример 5.17 (команда attributes)
    • 4.3. Работа с администратором развертывания
    • 8.4.2. Взгляд на компонент, управляемый сообщениями, со стороны клиента
© 2012 Руководство по WebSphere Application Server
Дизайн : Roam2Rome | Локализация темы для wordpress goodwin
Копирование материалов с данного сайта возможно только при наличии индексируемой ссылки на данный ресурс.