Oracle® Fusion Middleware Oracle Stream Analyticsによるイベント処理用アプリケーションの開発 12c (12.2.1.1.0) E77666-02 |
|
![]() 前へ |
![]() 次へ |
Oracle Stream Analyticsアプリケーションをデプロイして実行するには、アプリケーション・ファイルをOSGiバンドルにアセンブルして、そのOSGiバンドルをOracle Stream Analyticsサーバー上のドメインにデプロイします。デプロイされたアプリケーションは、デプロイ先のドメインでクライアント・リクエストを処理します。
アプリケーションのアセンブルおよびデプロイは、Oracle JDeveloperで、Oracle Stream Analytics Visualizerを使用して、手動で行うことができます。この章では、OSGiバンドルにラップされたアプリケーションを手動でアセンブルおよびデプロイする方法について説明します。
アプリケーションのアセンブルおよびデプロイ方法と、Oracle Stream Analytics Visualizerによるアプリケーション・ライブラリのデプロイおよび表示方法の詳細は、『Oracle Stream Analyticsビジュアライザの使用』のアプリケーションのデプロイに関する項を参照してください。
この章の内容は次のとおりです。
OSGiバンドルには1つ以上のJARファイルが含まれ、そこにOracle Stream Analyticsアプリケーションとそのサービスおよびリソース(依存関係)を定義するJavaクラス、パッケージ、ライブラリが含まれています。
アプリケーションのサービスおよびリソースは、他のバンドルで使用可能にできます。他のバンドル・アプリケーションによって使用されるサービスおよびリソースのみを含むOSGiバンドルを作成することもできます。たとえば、OSGiバンドルには、同じドメインで実行される他のアプリケーションによってアクセスされるJDBCドライバを含めることができます。
アプリケーションとそのリソースを含むOSGiバンドルがアプリケーション・バンドル、リソースのみを含むOSGiバンドルがアプリケーション・ライブラリ・バンドルです。
OSGiアプリケーション・バンドルに含まれるファイルは、次のとおりです。
イベント・タイプやイベントBeanなど、アプリケーション・コンポーネントを実装したコンパイル済Javaクラス・ファイル。
コンポーネント構成を含む1つ以上のOracle Stream Analytics構成ファイル。
構成ファイルは、デプロイするOSGiバンドルJARファイルのMETA-INF/wlevs
ディレクトリに置きます。例: /Oracle/Middleware/my_oep/user_projects/domains/<domain>/<server>/applications/<OSGi_Bundle_Symbolic_Name>
。
アプリケーションがすでにドメイン・ディレクトリに存在する場合、構成ファイルはアプリケーション・ファイルと同じディレクトリに展開する必要があります。
アプリケーションのすべてのコンポーネントと、各コンポーネントが相互にどのように接続されているかを記述したアセンブリ・ファイル。
OSGiバンドルJARファイルのMETA-INF/spring
ディレクトリに、アセンブリ・ファイルを置きます。
JARのコンテンツを記述するMANIFEST.MF
ファイル。このファイルを使用して、アプリケーションのリソースを他のバンドルで使用可能にできます。
次のディレクトリ構造に、OSGiアプリケーション・バンドルの構造を示します。
アプリケーションはインポートしたパッケージおよびライブラリに依存し、パッケージとライブラリは、同じドメインで実行されている他のアプリケーションと共有できます。
OSGiバンドルの依存関係は、MANIFEST-MF
で次のように指定します。
Import-Package
属性を使用して、インポートしたパッケージとライブラリをリストします。
Export-Package
属性を使用して、他のOSGiバンドルからアクセスする必要のあるパッケージをリストします。これらのパッケージは、アプリケーションOSGiバンドルにはバンドルされず、またバンドルとともにデプロイもされませんが、Oracle Stream Analyticsサーバーのアプリケーション・ライブラリ・ディレクトリにデプロイされます。
アプリケーション・ライブラリは、同じドメインで実行されている他のアプリケーションでサービスとリソースを使用できるようにします。アプリケーション・ライブラリを使用すると、ドライバや外部ステージなどの機能をアプリケーションに追加できます。
外部ステージとは、別のOracle Stream Analyticsアプリケーションにあるステージです。
アプリケーション・ライブラリは、組込みJARファイルとしてプロジェクトに追加することもできますが、OSGIアプリケーション・ライブラリを使用すると次のような利点があります。
ライブラリの更新バージョンをデプロイするなど、アプリケーション・アセンブリとメンテナンス活動が容易になります。
アーティファクトを再利用できます。
サーバー・ディスク領域使用量を削減できます。
Oracle Stream Analyticsサーバーのアプリケーション・ライブラリは、ライブラリおよびライブラリ拡張ディレクトリにデプロイします。
デフォルトでは、Oracle Stream Analyticsサーバー・ライブラリのディレクトリはDOMAIN_DIR/servername/modules
です。例:
/Oracle/Middleware/my_oep/user_projects/domains/mydomain/myserver/modules
Oracle Stream Analyticsがライブラリ・ディレクトリのライブラリをロードするのは、ライブラリ拡張ディレクトリのコンポーネントより後、Oracle Stream Analyticsアプリケーションより前です。ライブラリがJDBCドライバなどのドライバである場合、正しい順序でアクティブ化されるようにライブラリ拡張ディレクトリに格納する必要があります。
デフォルトでは、Oracle Stream Analyticsサーバーのライブラリ拡張ディレクトリはDOMAIN_DIR/servername/modules/ext
です。次に例を示します。
/Oracle/Middleware/my_oep/user_projects/domains/mydomain/myserver/modules/ext
Oracle Stream Analyticsでは、Oracle Stream Analyticsサーバーのコア・モジュールと同時に、最初にライブラリ拡張ディレクトリのライブラリをロードします。ドライバをアクティブ化して先に古いドライバをオーバーライドする、または別のドライバにアクセスするには、ライブラリ拡張ライブラリにドライバを置きます。ライブラリがドライバでない場合は、ライブラリ・ディレクトリに置きます。
Oracle Stream Analyticsサーバーでは、Oracle Stream Analyticsサーバーの起動時に、次の順序でコンポーネントをロードします。
ライブラリ拡張ディレクトリのライブラリをロード。
ライブラリ・ディレクトリのライブラリをロード。
Oracle Stream Analyticsアプリケーションをロード。
Oracle Stream Analyticsサーバーでは、ライブラリ名の字句順序に基づいて、ライブラリ拡張ディレクトリとライブラリ・ディレクトリの両方からライブラリをロードします。字句順序には、相対ディレクトリ名に加えてJARファイル名も含まれます。次に例を示します。
modules/a.jar
がmodules/b.jar
の前に開始されます。
字句順序で0/my.jar
はmy.jar
の前になるため、modules/0/my.jar
はmodule/my.jar
の前に開始されます。
このルールに従って、単にライブラリ拡張ディレクトリまたはライブラリ・ディレクトリのいずれかの適切に名付けられたサブディレクトリにJARファイルを整理することで、Oracle Stream AnalyticsサーバーがJARファイルをデプロイする順序を制御できます。
アプリケーションをデプロイするとすぐに、Oracle Stream Analyticsサーバーはアプリケーション構成履歴を作成し、構成されたアダプタがイベントのリスニングを開始します。
Oracle CQLルールまたはOracle Stream Analytics高可用性アダプタ構成に対して行った構成の変更は、履歴に記録されます。
Oracle Stream Analytics Visualizerまたはwlevs.Admin
コマンド行ツールを使用して、これらの変更を表示し、ロールバックする(変更を元に戻す)ことができます。
変更履歴をファイルにエクスポートし、そのファイルを使用すると、実行時に行った変更でアプリケーション・ソースを更新できます。詳細は、次を参照してください。
『Oracle Stream Analyticsビジュアライザの使用』のアプリケーション構成履歴の管理に関する項
Oracle Stream Analyticsの管理の構成履歴の管理に関する項
appCユーティリティは、アプリケーションを作成、検証、コンパイルできるコマンド行ツールです。
Oracle Stream Analyticsプロジェクトを構成する各種のファイルを作成し、変更できます。appCツールはspring-wlevs-v12_1_3_0.xsd
、spring-beans.xsd
、spring-osgi.xsd
の各スキーマ・バージョンを基準にして検証を行います。このコマンドが機能するようにするには、JDKをインストールする必要があります(Javaコンパイラに依存するため)。
注:
appCツールは、複数のコンポーネント構成ファイルや複数のアセンブリ・ファイルに対応していません。その場合は、bundle.sh
スクリプトまたはOracle JDeveloperを使用してください。
appCツールは、構成ファイル、アセンブリ・ファイル、および作成されたOSGiバンドルを検証し、Oracle CQL検証と、OSGiバンドルが正常にデプロイされたことを確認します。
注:
現在、appCはスキーマ検証しか実行せず、詳細なセマンティック検証は実行しません。カスタム・アダプタ・プロバイダは検証されません。
appC.jar
ファイルは、/Oracle/Middleware/my_oep/bin
にあります。
構文
java -jar appC.jar -cmd [cmd option] -basedir <path to workspace> [arguments]
cmdオプション
-cmd
引数を使用して実行するコマンド・オプションを次の中から選択します。
buildAll
: テンプレートを作成してマニフェストを生成し、コンポーネント構成ファイルとアセンブリ・ファイルを検証します。
createTemplate
: 入力XMLファイルまたはテンプレートXMLファイルを使用してワークスペース・ファイル構造を作成します。
generateManifest
: 入力ソース・ファイルをコンパイルし、生成されたクラス・ファイルに基づいてOSGiマニフェスト・ファイルを生成します。
validate
: コンポーネント構成ファイルとアセンブリ・ファイルを、そのスキーマに照らして検証します。
引数
-cmd
: コマンド・オプションのいずれかを実行します。-basedir
でルート・ディレクトリを指定し、プロジェクト・ワークスペースのルートを指定します。
-help
: コマンド行のコマンド・オプションと引数について、ヘルプ情報を出力します。
-basedir
: appCユーティリティを使用する前に設定するプロジェクト・ワークスペースのルート。
-cp
: バンドル・クラスのコンパイルに使用するクラス・パス。
-config
: コンポーネント構成ファイルのフル・パス。
-context
: アセンブリ・ファイルのフル・パス。
-manifest
: オプションの入力マニフェスト・ファイル。マニフェスト・ファイルを指定しない場合は、appCユーティリティによって生成されます。
注:
マニフェストを生成するためにOracle Stream Analyticsで使用される基礎となるBNDパッケージは、リフレクション用法を検索できません。
-name
: プロジェクトの名前(OSGiバンドル名)。
-destdir
: 出力JARファイルのディレクトリのフル・パス。デフォルトはbasedir
です。
-srcdir
: ソース・ルート・ディレクトリのフル・パス。
-excludedirs
: ソース・ツリーから除外するディレクトリの名前のカンマ区切りリスト。これらのディレクトリは、ソース・ディレクトリ・ルート(srcdir
)のサブディレクトリです。
例
入力ソース・ファイルをコンパイルし、OSGi MANIFEST.MF
ファイルを生成します。
java -jar appC.jar -cmd generateManifest -basedir
テンプレートを作成してMANIFEST.MF
ファイルを生成し、コンポーネント構成ファイルとアセンブリ・ファイルを検証します。
java -jar appC.jar -cmd buildALL -basedir
Oracle Stream Analyticsにはbundler.sh
UNIXシェル・スクリプトが用意されており、これを使用するとサービスとパッケージを他のバンドルに提供するOSGiバンドルを手動でアセンブルできます。
たとえば、JDBCドライバをOSGiバンドルJARファイルでデプロイすると、他のOSGiアプリケーションで使用できるようになります。
注:
Windowsサポートはありません(bundler.cmd
はありません)。
bundle.sh
シェル・スクリプトは、ソースJARファイルを読み取り、ターゲットJARファイルを作成します。ターゲットJARファイルには、ソースJARの内容と、適切なバンドル関連エントリを指定したMANIFEST.MF
ファイルが含まれています。ソース・アーカイブで検出されたすべてのJavaパッケージは、ターゲット・バンドルにエクスポートされます。
bundler.sh
を使用すると、バンドル・アクティベータも生成できます。バンドル・アクティベータは、JARファイル内の1つ以上のクラスをインスタンス化し、インスタンス化された各オブジェクトをOSGiサービスとして登録します。この機能を利用して、コンポーネント・バンドルは実行時に特定のファクトリ・クラスの複数バージョンにアクセスし、これを操作できます。
OSGiバンドルを手動でアセンブルするには、次の手順に従います。
注:
次に記述したステップの多くを実行できるbuild.xml
Antファイルについては、HelloWorldサンプル・ソース・ディレクトリを参照してください。
build.xml
ファイルは、Oracle/Middleware/my_oep/ oep/examples/source/applications/helloworld
にあります。
アプリケーションまたはライブラリをOSGiバンドルに手動でバンドルするには、まずバンドルするファイルの準備と編成が必要です。簡略化のために、この手順では必要なアーティファクトを含む一時ディレクトリを作成し、その後でこの一時ディレクトリのコンテンツをJARファイルに構築します。これが推奨されるアプローチですが、この方法でアプリケーションをアセンブルすることは必須ではありません。
MANIFEST.MF
ファイルの構造およびコンテンツはOSGi Frameworkによって指定されます。ファイル内の多くのヘッダーの値はアプリケーションまたはビジネスに固有ですが、多くのヘッダーはOracle Stream Analyticsで必須です。
特に、MANIFEST.MF
ファイルでは次のものが定義されます。
アプリケーション名: Bundle-Name
ヘッダーで指定されます。
シンボリック・アプリケーション名: Bundle-SymbolicName
ヘッダーで指定されます。
wlevs.Admin
ユーティリティやJMXサブシステムなど、多くのOracle Stream Analyticsツールは、アプリケーションを参照する場合にバンドルのシンボリック名を使用します。
アプリケーションのバージョン: Bundle-Version
ヘッダーで指定されます。
インポートされたパッケージ: Import-Package
ヘッダーで指定されます。
Oracle Stream Analyticsでは、少なくとも次のパッケージをインポートする必要があります。
Import-Package: com.bea.wlevs.adapter.defaultprovider;version="11.1.1", com.bea.wlevs.ede;version="11.1.1", com.bea.wlevs.ede.api;version="11.1.1", com.bea.wlevs.ede.impl;version="11.1.1", org.osgi.framework;version="1.3.0", org.springframework.beans.factory;version="2.5.6", org.apache.commons.logging;version="1.1.0", com.bea.wlevs.spring;version="11.1.1", com.bea.wlevs.util;version="11.1.1", org.springframework.beans;version="2.5.6", org.springframework.util;version="2.0", org.springframework.core.annotation;version="2.5.6", org.springframework.beans.factory;version="2.5.6", org.springframework.beans.factory.config;version="2.5.6", org.springframework.osgi.context;version="1.2.0", org.springframework.osgi.service;version="1.2.0"
エクスポートされたパッケージ: Export-Package
ヘッダーで指定されます。このヘッダーは、1つまたは複数のアプリケーション・クラスを、デプロイされている他のアプリケーションと共有する必要がある場合にのみ指定します。一般的な例には、イベントBeanの共有などがあります。
可能な場合は、実装クラス自体のかわりにインタフェースのみが含まれるパッケージをエクスポートします。エクスポートされたクラスが他のアプリケーションで使用中である場合、クラスをエクスポートしているアプリケーションを完全にアンデプロイすることはできません。
エクスポートされたパッケージはサーバー全体で利用されるため、必ずサーバー全体で一意の名前を使用します。
HelloWorldサンプル・アプリケーションのMANIFEST.MF
ファイルは、次のとおりです。
注:
Oracle WebLogic ServerコンテナBundle-ManifestVersion 2
にデプロイするには、Oracle Stream Analyticsで次のMANIFEST.MF
設定が必要です。これは、Oracle Stream AnalyticsがOracle WebLogic ServerコンテナでFelixを使用しているためです。
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Version: 1.0.0 Bundle-Vendor: Oracle Corporation Bundle-Copyright: Copyright (c) 2006-2009 by Oracle. Export-Package: com.bea.wlevs.event.example.helloworld;version="12.1.2", com.bea.wlevs.example.helloworld;version="12.1.2" Import-Package: com.bea.wlevs.configuration;version="12.1.2" com.bea.wlevs.ede.api;version="12.1.2", com.bea.wlevs.ede.impl;version="12.1.2", com.bea.wlevs.ede.spi;version="12.1.2", com.bea.wlevs.ede;version="12.1.2", com.bea.wlevs.management.spi;version="12.1.2", com.bea.wlevs.spring.support;version="12.1.2", com.bea.wlevs.spring;version="12.1.2", com.bea.wlevs.util;version="12.1.2", org.apache.commons.logging;version="1.1.0", org.springframework.beans.factory.config;version="2.5.6", org.springframework.beans.factory;version="2.5.6", org.springframework.beans;version="2.5.6", org.springframework.core.annotation;version="2.5.6", org.springframework.osgi.context;version="1.2.0", org.springframework.osgi.extensions.annotation;version="1.2.0", org.springframework.osgi.service;version="1.2.0", org.springframework.util;version="2.5.6" Bundle-Name: example.helloworld Bundle-Description: OCEP example helloworld Bundle-SymbolicName: helloworld
Oracle Stream Analyticsアプリケーションの作成時には、既存のサードパーティJARファイル内のレガシー・ライブラリにアクセスする必要がある場合があります。このレガシー・コードへのアクセスを保証するには、次の方法があります。
Bundle-Classpath
Oracle Stream AnalyticsアプリケーションJARファイルにサードパーティJARファイルをパッケージ化することをお薦めします。JARファイルは、任意の場所に保存できます。
注:
このアプローチでは、JARファイルのロード順序をほとんど制御できず、依存関係の競合が発生する可能性があります。このため、Oracle Stream Analyticsサーバー・アプリケーション・ライブラリの使用をお薦めします。
MANIFEST.MF
ファイルにBundle-Classpath
ヘッダーを追加し、アプリケーション・クラス・パスを更新することにより、Oracle Stream AnalyticsアプリケーションによるサードパーティJARファイルでのクラスの検出を保証する必要があります。Bundle-Classpath
をクラスおよびリソースの検索先となるJARファイル・パス名のカンマ区切りのリストに設定します。バンドル自身を指定するには、ピリオド(.
)を使用します。次に例を示します。
Bundle-Classpath: ., commons-logging.jar, myExcitingJar.jar, myOtherExcitingJar.jar
ネイティブ・ライブラリにアクセスする必要がある場合は、ネイティブ・ライブラリもJARファイルにパッケージ化し、MANIFEST.MF
ファイルのBundle-NativeCode
ヘッダーを使用してJARでのその場所を指定する必要があります。
オペレーティング・システム・パス
アプリケーション・ライブラリとしてパッケージすることを選択しないネイティブ・コード・ライブラリに依存するアプリケーション・ライブラリを作成できます。この場合、Oracle Stream Analyticsサーバーのオペレーティング・システム・パス(bootclasspath
)にネイティブ・コード・ライブラリを配置できます。サーバーが起動すると、このネイティブ・コードを呼び出す必要があるライブラリ・バンドルがネイティブ・コードをロードします。
-Xbootclasspath
JDBCドライバなどのOracle Stream Analytics,にデプロイされているすべてのアプリケーションで使用されるライブラリがJARファイルに含まれている場合は、サーバー・インスタンスの起動に使用するスクリプト内のjava
コマンドに-Xbootclasspath/a
オプションを指定することで、JARファイルをサーバーのブート・クラス・パスに追加できます。
注:
このアプローチでは、JARファイルのロード順序をほとんど制御できず、依存関係の競合が発生する可能性があります。Oracle Stream Analyticsサーバー・アプリケーション・ライブラリの使用をお薦めします。詳細は、オペレーティング・システム・パスを参照してください。
サーバー起動スクリプト名はstartwlevs.cmd
(Windows)またはstartwlevs.sh
(UNIX)で、スクリプトはドメイン・ディレクトリ内のサーバー・ディレクトリにあります。即時利用可能なサンプル・ドメインはORACLE_CEP_HOME
/ocep_11.1/samples/domains
にあり、ユーザー・ドメインはORACLE_CEP_HOME
/user_projects/domains
にあります。ORACLE_CEP_HOME
は、d:\oracle_cep
などのOracle Stream Analyticsの主なインストール・ディレクトリです。
wlevs_2.0.jar
ファイルを実行するjava
コマンドに-Xbootclasspath/a
オプションを追加して、起動スクリプトを更新します。システム全体でアクセスするサードパーティJARファイルのフル・パス名に-Xbootclasspath/a
オプションを設定します。
たとえば、デプロイされているすべてのアプリケーションからe:\jars\myExcitingJAR.jar
というJARファイルにアクセスできるようにする場合は、起動スクリプトのjava
コマンドを次のように更新します。更新箇所を太字で示します(実際には、コマンドは1行に1つにする必要があります)。
%JAVA_HOME%\bin\java -Dwlevs.home=%USER_INSTALL_DIR% -Dbea.home=%BEA_HOME%
-Xbootclasspath/a:e:\jars\myExcitingJAR.jar
-jar "%USER_INSTALL_DIR%\bin\wlevs_2.0.jar" -disablesecurity %1 %2 %3 %4 %5 %6
別のOracle Stream Analyticsアプリケーション内にあるステージを参照できます。別のアプリケーションのステージは、外部ステージと呼ばれます。外部ステージに依存しているアプリケーションをアセンブルするとき、クラス・パス依存関係に注意してください。図13-2に示したアプリケーションの依存関係グラフを考慮してください。
この例では、アプリケーションAはアプリケーションBに、アプリケーションBはアプリケーションCに、アプリケーションCはアプリケーションAに依存します。アプリケーションCは、MarketEvent
クラスを宣言してエクスポートします。アプリケーションAとBは、アプリケーションCによって提供されたMarketEvent
クラスをインポートします。この例では、OSGiバンドルAとBのMANIFEST.MF
ファイルにRequire-Bundle: C
が含まれている必要があります。
次の点に注意してください。
外部ステージを再デプロイする場合、そのアプリケーションまたは外部ステージに依存するすべての外部ステージを再デプロイする必要があります。
たとえば、アプリケーションBを再デプロイする場合、アプリケーションAを再デプロイする必要があります。
1つの外部ステージと他のステージの間にクラス・パスの依存関係がある場合、共有クラスを宣言し、エクスポートする外部ステージをデプロイするときは、共有クラスをインポートするすべての外部ステージを再デプロイする必要があります。
たとえば、アプリケーションCを再デプロイする場合、アプリケーションC (MarketEvent
)とクラス・パスの依存関係がアプリケーションAとBも再デプロイする必要があります。
ファイルの準備と編成が済んだら、bundle.sh
シェル・スクリプトを使用してそのファイルをOSGiバンドルにアセンブルし、アクティベータ・クラスを定義できます。bundle.sh
スクリプトは、/Oracle/Middleware/my_oep/
bin
ディレクトリにあります。
新しいJDBCドライバのアプリケーション・ライブラリをバンドルする場合、詳細は、Oracle Stream Analyticsの管理のアプリケーション・ライブラリを使用したデータベース・ドライバに関する項を参照してください。
bundler.sh
スクリプトは、/Oracle/Middleware/my_oep/
bin
ディレクトリにあります。bundler.shコマンドの構文を次に示します。表13-1は、コマンド引数の説明です。
bundler -sourceJAR
-nameNAME
-versionVERSION
[-factoryCLASS
+] [-serviceINTERFACE
+] [-fragmenthostHOST
] [-stagedirPATH
] [-targetdirPATH
] [+importPACKAGE
|REGEX
+] [-imodsREGEX
;MODS
+] [-importPACKAGE
+] [+exportPACKAGE
|REGEX
+] [-emodsREGEX
;MODS
+] [-dimportPACKAGE
+] [-explode] [-verbose]
表13-1 bundler.shのコマンド行オプション
|
bundler.sh
スクリプトを実行して、OSGiバンドルを作成します。コマンドの場所、構文、引数を参照してください。
次のbundle.sh
コマンドは、bundler.sh
を使用してOracle JDBCドライバのOSGiバンドルを作成する方法を示しています。
bundler.sh \ -source C:\drivers\com.oracle.ojdbc14_11.2.0.jar \ -name oracle12c \ -version 12.1.3.0 \ -factory oracle.jdbc.xa.client.OracleXADataSource oracle.jdbc.OracleDriver \ -service javax.sql.XADataSource java.sql.Driver \ -targetdir C:\stage
-source
オプションには、C:\drivers
ディレクトリで見つかるOracleドライバであるJARファイルを指定します。生成されたバンドルJARの名前は、-name
と-version
引数(oracle10g_11.2.0.jar
)の連結で、C:\stage
ディレクトリに作成されます。バンドルJARに含まれるファイルは、次のとおりです。
1465 Thu Jun 29 17:54:04 EDT 2006 META-INF/MANIFEST.MF 1540457 Thu May 11 00:37:46 EDT 2006 com.oracle.ojdbc14_11.2.0.jar 1700 Thu Jun 29 17:54:04 EDT 2006 com/bea/core/tools/bundler/Activator.class
-factory
オプションには、バンドルがアクティブ化されるときにOSGiサービスとしてインスタンス化および登録される2つのファクトリ・クラスがあることを指定します。表13-2に示すように、各ファクトリ・クラスは別々のオブジェクト・クラスにあります。
表13-2 ファクトリ・クラスおよびサービス・インタフェース
|
-service
オプションでは、name
プロパティをoracle12c
に設定し、version
プロパティの値を12.1.3.0
に設定してサービスを登録します。次の例は、サービス登録時のOracle Stream Analyticsサーバーのログ・メッセージを示します。
... INFO: [Jun 29, 2006 5:54:18 PM] Service REGISTERED: { version=12.1.3.0, name=oracle12c, objectClass=[ javax.sql.XADataSource ], service.id=23 } INFO: [Jun 29, 2006 5:54:18 PM] Service REGISTERED: { version=12.1.3.0, name=oracle12c, objectClass=[ java.sql.Driver ], service.id=24 } INFO: [Jun 29, 2006 5:54:18 PM] Bundle oracle11g STARTED ...
アプリケーション・ライブラリJARを該当するOracle Stream Analyticsサーバー・アプリケーション・ディレクトリにコピーします。
バンドルがドライバの場合は、ライブラリ拡張ディレクトリに置きます。
ライブラリ拡張ディレクトリを参照してください。
バンドルがドライバでない場合は、ライブラリ・ディレクトリに置くことができます。
ライブラリ・ディレクトリを参照してください。
Oracle Stream Analyticsサーバーを停止し、起動します。
Oracle Stream Analyticsの管理のサーバーの起動および停止に関する項を参照してください。
Oracle Stream AnalyticsアプリケーションまたはライブラリをOSGiバンドルにアセンブルした後、Oracle Stream Analyticsサーバー・ドメインにデプロイします。アプリケーションのデプロイには、Oracle JDeveloper、Oracle Stream Analytics Visualizerおよびデプロイヤ・ユーティリティを使用できます。
この項では、デプロイヤ・ユーティリティの使用方法について説明します。
デプロイヤ・ユーティリティを使用して、スタンドアロンまたはマルチサーバー・ドメインのいずれかにアプリケーションをデプロイできます。グループへのデプロイが可能なのは、サーバーがマルチサーバー・ドメインの一部の場合(クラスタリングが有効の場合)のみです。サーバーがスタンドアロン・サーバー・ドメインの一部の場合(クラスタリングが無効の場合)、グループにはデプロイできません。
Oracle Stream Analyticsは、deployments.xml
ファイルを使用して、デプロイ済のOSGiバンドルのリストを内部的に維持します。このファイルは、DOMAIN_DIR/servername
ディレクトリにあります。DOMAIN_DIR
は、メイン・ドメイン・ディレクトリであり、アプリケーションのデプロイ先となるサーバー・インスタンスに対応します。servername
は、実際のサーバーです。この情報はあくまでも参考として示しています。deployments.xml
ファイルを手動で更新することはお薦めしません。
始める前に
アプリケーションをデプロイするOracle Stream AnalyticsインスタンスでJettyが構成されていることを確認してください。詳細は、Oracle Stream Analyticsの管理のアプリケーション・デプロイメントに関する項を参照してください。
コマンド・ウィンドウを開き、wlevsdeploy.jar JAR
ファイルを含むようにCLASSPATH
変数を更新します。このファイルは、次のディレクトリにあります。デプロイヤ・ユーティリティは、JARファイルの中にあります。
/Oracle/Middleware/my_oep/bin
デプロイヤ・ユーティリティを使用してOSGiバンドルをデプロイします。
OSGiバンドルが正常にインストールされ、初期化タスクが完了したら、Oracle Stream Analyticsでアプリケーションが起動され、アダプタ・コンポーネントで着信イベントがリスニングされます。
bundle.shによるOSGiバンドルのアセンブルの説明に従って、OSGiバンドルをアセンブルします。
コマンド・ウィンドウを開き、次のようにしてデプロイヤ・ユーティリティを実行します。すべて1行で記述してください。
prompt> java -jar wlevsdeploy.jar -url http://host:port/wlevsdeployer -user user -password password -install application_jar_file
host
: Oracle Stream Analyticsサーバーが実行中のコンピュータの名前。
port
: Oracle Stream Analyticsがリスニングするポート番号。デフォルト値は9002
です。このポートは、Oracle Stream Analyticsドメインが記述されているDOMAIN_DIR
/config/
ファイルに指定されています。ポート番号は、ファイルの<Netio>
要素の<Port>
子要素の値です。
<Netio> <Name>NetIO</Name> <Port>9002</Port> </Netio>
user
: Oracle Stream Analytics管理者のユーザー名。
password
: Oracle Stream Analytics管理者のパスワード。
application_jar_file
: OSGiバンドル。OSGiバンドルは、デプロイヤ・ユーティリティが実行される同じコンピュータに置かれている必要があります。たとえば、Oracle Stream Analyticsはホストariel
上で実行中で、ポート9002
でリスニングしており、管理者のユーザー名とパスワードがwlevs/wlevs
であり、アプリケーションJARファイルmyapp_1.0.0.0.jar
が/applications
ディレクトリに置かれている場合、コマンドは次のようになります。すべて1行で記述してください。
prompt> java -jar wlevsdeploy.jar
-url http://ariel:9002/wlevsdeployer
-user wlevs -password wlevs -install /applications/myapp_1.0.0.0.jar
デプロイヤ・ユーティリティでは、OSGiバンドルの再開、中断、更新、アンインストールや、マルチサーバー・ドメインの指定されたグループへのOSGiバンドルのデプロイなどのためにここで記述する内容について、追加オプションが用意されています。詳細は、Oracle Stream Analyticsの管理のデプロイヤ・ユーティリティを使用したデプロイメント・コマンドに関する項を参照してください。