Oracle ADF на JBoss: проблема с подключенным Jdbc-соединением - PullRequest
3 голосов
/ 10 ноября 2008

Я пытаюсь запустить приложение с использованием бизнес-компонентов Oracle ADF на сервере JBoss. Мне удалось развернуть его, но когда я пытаюсь загрузить страницу, я получаю исключение ниже:

 java.lang.ClassCastException: org.jboss.resource.adapter.jdbc.jdk6.WrappedConnectionJDK6 cannot be cast to oracle.jdbc.OracleConnection

Есть ли способ решить это? Может быть, настроить JBoss, чтобы он не использовал это упакованное соединение, или настроить инфраструктуру ADF для его развертывания?

1 Ответ

3 голосов
/ 18 февраля 2009

Это время назад, но я просто отвечу на свой вопрос.

Существует руководство по Oracle Metalink (Требуется вход в систему), которое объясняет, как развернуть ADF / BC на JBoss. Я почти уверен, что это решило это для меня (это было давно ...)

Вот его копия:


Аннотация
Цель этой заметки - показать, как создать модуль приложения ADF BC и как его развернуть на сервере приложений JBoss. Он также покажет вам, какие конфигурации вам необходимо выполнить на стороне JBoss, чтобы модуль приложения работал правильно.

Область применения и применение
Эта заметка предназначена для всех, кто собирается развернуть модуль ADF BC на сервере приложений JBoss.

Как развернуть модуль ADF BC на сервере приложений JBoss
Для развертывания модуля ADF BC на сервере приложений JBoss необходимо выполнить следующие шаги:

  1. Настройка библиотек времени выполнения ADF на сервере JBoss
  2. Настройка источников данных на сервере JBoss
  3. Настройка модуля ADF BC
  4. Развертывание модуля ADF BC

Я пройдусь по каждому из этих этапов более подробно. Здесь также приведен полный пример для загрузки. Настройте библиотеки времени выполнения ADF на сервере JBoss

  1. Завершение работы сервера приложений.
  2. Вызов мастера установки ADF Runtime Installer. Выберите Инструменты | Установщик времени выполнения ADF и выберите тип сервера в подменю.
  3. Пройдите по страницам мастера. Для получения подробных инструкций для любой страницы мастера нажмите Справка.
  4. На странице Расположение выберите домашний (или корневой) каталог сервера, на котором должны быть установлены библиотеки.
  5. На странице параметров установки вы можете выбрать операцию, которую хотите выполнить. * Установите библиотеки времени выполнения ADF из вашей установки JDeveloper. * Удалите ранее установленные библиотеки времени выполнения ADF. * Восстановите архивную версию библиотек времени выполнения ADF в качестве активной версии.
  6. На странице Сводка нажмите Мигрировать, если вы хотите подготовить любые существующие проекты JIX UIX для развертывания.
  7. На странице Сводка подтвердите детали установки и нажмите Готово.
  8. Перезагрузите сервер приложений.

Настройка источников данных на сервере JBoss
Чтобы создать источник данных Oracle на сервере JBoss, вам необходимо выполнить следующие шаги:

  1. Создайте файл с именем oracle-ds.xml. Этот файл будет содержать вашу конфигурацию источника данных. Ниже приведен пример того, как может выглядеть такой файл.

    <?xml version="1.0" encoding="UTF-8"?>
      <datasources>
        <local-tx-datasource>
        <jndi-name>OracleDS</jndi-name>
        <use-java-context>false</use-java-context>
        <connection-url>jdbc:oracle:thin:@mydbhost.com:1521:mysid</connection-url>
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
        <user-name>hr</user-name>
        <password>******</password>
        <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
      </local-tx-datasource>
    </datasources>
    
  2. Скопируйте файл в / deploy. Это установит его на сервер JBoss.

Настройка модуля ADF BC
Чтобы запустить модуль ADF BC на сервере JBoss, необходимо выполнить несколько шагов.

При создании модуля ADF BC, который будет использоваться на сервере приложений JBoss, необходимо установить SQL Flavor на SQL92 и Type Type на Java. Это изменение необходимо при использовании JBoss в качестве сервера приложений.

**** Упакуйте проект бизнес-компонентов ADF в качестве сессионного компонента EJB. ****

  1. Щелкните правой кнопкой мыши на модуле приложения, выберите Развертывание бизнес-компонентов.
  2. В диалоге профилей выберите EJB Session Beans.
  3. В диалоговом окне EJB Session Beans выберите Deploy To: Other EJB Container
  4. В диалоговом окне AppModules настройте модуль приложения, как показано на рисунке 1 ниже.

Рисунок 1. Конфигурация прикладного модуля
alt text

После завершения ваш проект будет выглядеть так, как показано на рисунке 2 ниже.

Рисунок 2. Проект JDeveloper
alt text

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

  1. Редактирование модуля приложения.
  2. В навигаторе щелкните правой кнопкой мыши значок модуля приложения Business Components и выберите «Конфигурации».
  3. Выберите подходящую конфигурацию.
  4. Выберите эту конфигурацию и нажмите Редактировать.
  5. В списке Тип соединения выберите JDBC DataSource.
  6. Введите имя источника данных. Например: java: /OracleDS.

Развертывание модуля ADF BC
Если у вас есть сервер JBoss либо локально, либо на вашем локальном компьютере, вы можете развернуть его прямо из JDeveloper. Если ваш сервер JBoss удаленный и не сопоставлен с локальной машиной, или у вас есть приложение JSP, которое позже будет использовать этот модуль, вы не сможете развернуть его непосредственно из JDeveloper. Оба метода описаны ниже.

Развертывание модуля из JDeveloper
1. Создайте соединение с целевым сервером приложений. 2. Если вы хотите поддерживать специфичные для JBoss параметры конфигурации для EJB, добавьте файл дескриптора развертывания jboss.xml. Для получения дополнительной информации об этом файле см. http://www.jboss.org. 3. Если ваш проект представляет собой JSP-проект Business Components UIX, добавьте в него необходимые ресурсы Cabo. 4. Выберите профиль развертывания в навигаторе, щелкните правой кнопкой мыши и выберите «Развернуть в | <соединение с сервером приложений>, чтобы упаковать приложение в файл архива и развернуть его через выбранное соединение с сервером приложений.

Развертывание модуля вне JDeveloper
Если ваш сервер JBoss удаленный и не привязан к локальной машине, или у вас есть приложение JSP, которое позже будет использовать этот модуль, вам нужно будет сделать следующее:

  1. Выберите Deploy to EAR file из контекстного меню, чтобы развернуть его как EAR-файл. Вы должны развернуть это приложение в файле EAR, а не в файле WAR, поскольку JBoss не будет добавлять ссылки EJB в пространство имен java: comp / env / JNDI для файла WAR.
  2. Скопируйте этот файл вручную в каталог / deploy.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...