3

JBossサーバーでOracle ADFビジネス・コンポーネントを使用してアプリケーションを実行しようとしています。私はそれを展開することに成功しましたが、ページを読み込もうとすると、以下の例外が発生します:

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

これを解決する方法はありますか?このラップされた接続を使用しないようにJBossを構成するか、ラップを解除するようにADFフレームワークを構成しますか?

4

1 に答える 1

3

少し前のことですが、私自身の質問をフォローアップします。

JBossにADF/BCをデプロイする方法を説明するOracleMetalink(ログインが必要)に関するガイドがあります。これが私にとってこれを解決したものだと確信しています(少し前です..)

これがそのコピーです:


要約
このノートの目的は、ADF BCアプリケーションモジュールを作成する方法と、それをJBossアプリケーションサーバーにデプロイする方法を示すことです。また、アプリケーションモジュールが正しく機能するためにJBoss側で実行する必要のある設定も示します。

範囲とアプリケーション
このノートは、ADFBCモジュールをJBossアプリケーションサーバーにデプロイしようとしているすべての人を対象としています。

ADFBCモジュールをJBossApplicationServerにデプロイする方法ADFBCモジュールをJBossApplicationServer
にデプロイするために必要なステップは次のとおりです。

  1. JBossServerでADFランタイムライブラリをセットアップします
  2. JBossServerでデータソースを設定します
  3. ADFBCモジュールを構成します
  4. ADFBCモジュールを展開します

これらの各ステップについて、さらに詳しく説明します。ここにダウンロード用に添付された完全な例もあります。JBossServerでADFランタイムライブラリをセットアップします

  1. アプリケーションサーバーをシャットダウンします。
  2. ADFランタイムインストーラウィザードを起動します。ツール|を選択します ADFランタイムインストーラーを選択し、サブメニューからサーバータイプを選択します。
  3. ウィザードのページに進みます。ウィザードの任意のページの詳細な手順については、[ヘルプ]をクリックしてください。
  4. [場所]ページで、ライブラリをインストールするサーバーのホーム(またはルート)ディレクトリを選択します。
  5. [インストールオプション]ページで、実行する操作を選択できます。*JDeveloperインストールからADFランタイムライブラリをインストールします。*以前にインストールしたADFランタイムライブラリをアンインストールします。*アーカイブバージョンのADFランタイムライブラリをアクティブバージョンとして復元します。
  6. 既存のUIXJSPプロジェクトを展開用に準備する場合は、[概要]ページで[移行]をクリックします。
  7. [概要]ページで、インストールの詳細を確認し、[完了]をクリックします。
  8. アプリケーションサーバーを再起動します。

JBossサーバーでのデータソース
の設定JBossサーバーでOracleデータソースを作成するには、以下の手順を実行する必要があります。

  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サーバーにインストールされます。

ADFBCモジュールの設定
JBossサーバーで実行するためにADFBCモジュールで実行する必要のあるいくつかのステップがあります。

JBossアプリケーションサーバーで使用されるADFBCモジュールを作成するときは、SQLフレーバーをSQL92に設定し、タイプマップをJavaに設定する必要があります。この変更は、JBossをアプリケーションサーバーとして使用する場合に必要です。

****ADFビジネスコンポーネントプロジェクトをEJBセッションBeanとしてパッケージ化します。****

  1. アプリケーションモジュールを右クリックし、[ビジネスコンポーネントの展開]を選択します。
  2. プロファイルダイアログで、EJBセッションBeanを選択します。
  3. 「EJBセッションBean」ダイアログで、「デプロイ先:その他のEJBコンテナ」を選択します。
  4. [AppModules]ダイアログで、次の図1に示すようにアプリケーションモジュールを構成します。

図1.アプリケーションモジュールの構成
代替テキスト

完了すると、プロジェクトは下の図2に示すようなものになります。

図2.JDeveloperプロジェクト
代替テキスト

最後のステップは、前のステップで作成したデータソースを使用するようにアプリケーションモジュールを構成することです。これは次のように行われます。

  1. アプリケーションモジュールを編集します。
  2. ナビゲータで、ビジネスコンポーネントアプリケーションモジュールアイコンを右クリックし、設定を選択します。
  3. 適切な構成を選択します。
  4. この構成を選択して、[編集]をクリックします。
  5. 「接続タイプ」リストで、「JDBCデータソース」を選択します。
  6. データソース名を入力します。例:java:/OracleDS。

ADF BCモジュール
のデプロイJBossサーバーがローカルにあるか、ローカルマシンにマッピングされている場合は、JDeveloper内から直接デプロイできます。JBossサーバーがリモートでローカルマシンにマップされていない場合、または後でこのモジュールを使用するJBSアプリケーションがある場合、JDeveloper内から直接デプロイすることはできません。両方の方法を以下に説明します。

JDeveloper内からのモジュールのデプロイ
1.ターゲット・アプリケーション・サーバーへの接続を作成します。2. EJBのJBoss固有の設定オプションをサポートする場合は、jboss.xmlデプロイメント記述子ファイルを追加します。このファイルの詳細については、http://www.jboss.orgを参照してください。3.プロジェクトがビジネスコンポーネントUIXJSPプロジェクトの場合は、必要なCaboリソースをプロジェクトに追加します。4.ナビゲーターでデプロイメント・プロファイルを選択して右クリックし、「デプロイ先」|「デプロイメント」を選択します。<アプリケーションサーバー接続>を使用して、アプリケーションをアーカイブファイルとしてパッケージ化し、選択したアプリケーションサーバー接続を介してデプロイします。

JDeveloperの外部へのモジュールのデプロイ
JBossサーバーがリモートであり、ローカルマシンにマップされていない場合、または後でこのモジュールを使用するJBSアプリケーションがある場合は、次のようにする必要があります。

  1. コンテキストメニューから[EARファイルにデプロイ]を選択して、EARファイルとしてデプロイします。JBossはWARファイルのjava:comp / env / JNDI名前空間の下にEJB参照を追加しないため、このアプリケーションをWARファイルではなくEARファイルにデプロイする必要があります。
  2. このファイルを手動で/deployディレクトリにコピーします。
于 2009-02-18T09:34:19.380 に答える