Advanced Registration Flow のコンフィグレーションと管理
Oracle Enterprise Repository 用の JMS サーバのコンフィグレーション
この節では、以下の内容に関する情報を取り上げます。
Event Manager 用の JMS の概要
Event Manager では、デフォルトで有効な組み込みバージョンの Apache ActiveMQ JMS サーバを使用します。組み込みの JMS サーバは、追加のコンフィグレーションを行わずにすぐに実行できるようにコンフィグレーションされています。ただし、Oracle の BEA Weblogic Server JMS や IBM WebSphere Application Server などの 外部 JMS サーバが推奨される場合は、Oracle Enterprise Repository のいくつかのシステム設定をコンフィグレーションする必要があります。
| 注意 : |
Oracle Enterprise Repository が WebSphere 6.x にデプロイされている場合は、ActiveMQ と Oracle Enterprise Repository によって使用されるクラスで衝突が発生するため、組み込みの Apache ActiveMQ JMS サーバを使用することはできません。そのため、WebSphere 6.x をお使いの場合は、WebSphere 6.x に付属のデフォルトの JMS 実装を使用する必要があります。「WebSphere 6.1.0.5 での JMS プロバイダのコンフィグレーション」を参照してください。 |
外部 JMS サーバの接続のプロパティのコンフィグレーション
Oracle Enterprise Repository の [System Settings] セクションを使用すると、管理者は Oracle Enterprise Repository の基本操作をコンフィグレーションしたり、特定の機能の有効と無効を切り替えたりできます。Event Manager の JMS に関連する設定は、メイン カテゴリ [External Integrations] の [Eventing] グループで行います。システム設定の詳細については、『Oracle Enterprise Repository Administration Guide』を参照してください。追加の「イベンティング」プロパティについては、「Oracle Enterprise Repository Event Manager のコンフィグレーション」を参照してください。
外部 JMS サーバの有効化とコンフィグレーション
外部 JMS 製品をコンフィグレーションするには、内部 Apache ActiveMQ JMS サーバを無効にする必要があります。また、外部 JMS 用の JNDI プロパティと JMS プロパティをコンフィグレーションする必要があります。
Oracle Enterprise Repository の [Admin] 画面のサイドバーにある [System Settings] をクリックします。
[System Settings] の検索ボックスに「Event」と入力し、Event Manager に関連するすべての設定を表示します。
[Event Manager Embedded JMS Enable] プロパティの横にある [False] をクリックして内部 JMS サーバを無効にします。これにより、Event Manager で強制的に外部 JMS サーバが使用されます。
必要な JNDI プロパティをコンフィグレーションします。
[JNDI URL] - JNDI URL を指定します。たとえば、「t3://localhost:7001」のように入力します。
[JNDI User Name] - JNDI ユーザ名を指定します。
[JNDI Password] - JNDI ユーザ名のパスワードを指定します。
[JNDI Context Factory] - JNDI 初期コンテキスト ファクトリを指定します。たとえば、「weblogic.jndi.WLInitialContextFactory」のように入力します。
以下の JMS プロパティをコンフィグレーションします。
[JMS Connection Factory] - JMS 接続ファクトリを指定して、JMS クライアントで JMS 接続を作成できるようにします。たとえば、「weblogic.examples.jms.TopicConnectionFactory」のように入力します。
[JMS Topic] - JMS サーバのパブリッシュ/サブスクライブ送り先のタイプである JMS トピックを指定します。たとえば、「weblogic.examples.jms.TopicConnectionFactory」のように入力します。
[Save] をクリックします。
Oracle Enterprise Repository を再起動してコンフィグレーションの変更を有効にします。
JMS メッセージ ヘッダ プロパティのコンフィグレーション
すべての JMS メッセージには、デフォルトで標準のヘッダ フィールドが挿入されます。このフィールドは、メッセージ コンシューマで利用できます。メッセージ有効期限ヘッダと配信モードヘッダは、Oracle Enterprise Repository の [System Settings] を使用してコンフィグレーションできます。
「外部 JMS サーバの有効化とコンフィグレーション」の説明に従って、[System Settings] の [Eventing] にアクセスします。
JMS メッセージ ヘッダ プロパティをコンフィグレーションします。
[JMS Message Expiration] - JMS メッセージの有効期限を秒単位で設定します。この設定を行った場合、未処理のイベントは指定された秒数が経過すると期限切れになります。デフォルトは 0 秒です。この場合、メッセージは期限切れになりません。ただし、一部の環境には、JMS メッセージが何らかの理由で選択されない場合は、そのメッセージを永続的に保存できないように指定するポリシーがあります。
[JMS Delivery Mode] - JMS メッセージの配信モードの値を PERSISTENT または NON-PERSISTENT に設定します。PERSISTENT に設定すると、JMS サーバはイベントを基底のストアに書き込みます。イベントをストアで永続化すると、信頼性は高くなりますが、パフォーマンスに影響を与える可能性があります。デフォルトは PERSISTENT です。
[Save] をクリックします。
Oracle Enterprise Repository を再起動してコンフィグレーションの変更を有効にします。
その他の JMS プロパティ
| 注意 : |
イベンティング プロパティを変更した後にその変更を有効にするには、Oracle Enterprise Repository を再起動する必要があります。 |
以下に示すその他のシステム設定をコンフィグレーションすることもできます。
[Event Manager JMS Subscribers Enabled] - [False] に設定すると、内部 JMS サブスクライバは有効になりません。この場合、組み込みの JMS サーバが起動されますが、特定の恒久サブスクライバ名を使用して組み込みのサーバに外部ツールから接続し、格納されたイベントをクリーンアップすることができます。
[JMS Subscribers Client ID] - JMS 恒久サブスクライバ ID を指定します。
たとえば、「ALER_JmsSubscriber」のように入力します。
[JMS Producers Client ID] - JMS プロデューサのクライアント ID を指定します。
たとえば、「ALER_DeliveryManager」のように入力します。
[Lazy Initialize Event Engine] - 有効にすると、イベントが初めて生成されるときに Event Manager が初期化されます。このプロパティは、以下のいずれかの理由で有効にする必要があります。
JMS サーバによって大量のイベントが格納されていて、かつそれらのイベントを Oracle Enterprise Repository の起動後すぐに処理できない場合。
組み込みの JMS サーバの初期化のタイミングが原因で起動時に問題が発生する場合。
外部 JMS Jar ファイルのコンフィグレーション
外部 JMS サーバが使用される場合は、その外部 JMS サーバに関連する JAR ファイルを WEB-INF\lib ディレクトリにコピーする必要があります。
データベースを使用するための組み込みの ActiveMQ JMS サーバのコンフィグレーション
デフォルトでは、ActiveMQ JMS サーバはファイルベースのストアを使用してイベントを格納します。ただし、イベントをデータベースに格納するように指定することもできます。そのためには、WEB-INF\classes ディレクトリにある activemq.xml ファイルをコンフィグレーションして、データベース パラメータを使用するように指定します。
たとえば、次のように指定します。
Web サービス エンドポイント用の JMS 恒久サブスクライバのコンフィグレーション
Event Manager では、Subscription Manager XML ファイルで検出される Web サービス エンドポイントごとに 1 つの恒久サブスクライバを作成します。これにより、エンドポイントがオンラインでない場合はイベントが格納され、エンドポイントが再びオンラインに戻るとイベントを確実に配信できます。JMS 仕様に準拠して、恒久サブスクライバ名は JMS サーバ内でユニークなものにする必要があります。次の例に示すように、Event Manager は、その恒久サブスクライバ名を EndPointEventSubscription.xml ファイルの name フィールドから取得します。
<sub:EventSubscriptionData xmlns:sub=”http://www.bea.com/infra/events/subscription”
<sub:eventSubscription>
<sub:endPoint name=”ALBPMEndpoint”>
| 注意 : |
JMS サーバは、恒久サブスクライバ名をメッセージ セレクタに関連付けます。そのため、メッセージ セレクタが変更される場合は、新しい恒久サブスクライバ名を指定するか、または既存の恒久サブスクライバ名を削除する必要があります。この場合、「格納されたイベントのクリーンアップ」に示すように、Oracle Enterprise Repository の Event Cleanup ツールを使用できます。また、JMS 固有のツールを使用することもできます。 |
Oracle Enterprise Repository クラスタでの JMS サーバのコンフィグレーション
JMS クラスタ化モードの有効化
Oracle Enterprise Repository がクラスタ モードでデプロイされている場合は、使用される JMS サーバのタイプ (組み込みか外部か) に関係なく、Oracle Enterprise Repository の各インスタンスでクラスタ化を有効化する必要があります。
Oracle Enterprise Repository の [Admin] 画面のサイドバーにある [System Settings] をクリックします。
[Enable New System Setting] ボックスに「cmee.eventframework.clustering.enabled」と入力し、[Enable] をクリックして、この非表示のプロパティを表示します。
[Clustering Enabled] プロパティを [True] に設定します。
次の節の説明に従い、JMS サーバのタイプに基づいて、必要なその他のプロパティを設定します。
クラスタ化に必要な組み込みの JMS サーバのコンフィグレーション
クラスタ環境では、クラスタ内の Oracle Enterprise Repository の各メンバー インスタンスが 1 つの組み込みの JMS サーバに割り当てられます。たとえば、2 ノード クラスタの場合は、2 つの Oracle Enterprise Repository インスタンス (server01 と server02 など) が 1 つの組み込みの JMS サーバに割り当てられます。組み込みの JMS サーバでクラスタ化を有効にした場合は、server01 と server02 でそのサーバの接続 URL 情報を指定する必要があります。
Oracle Enterprise Repository の [Admin] 画面のサイドバーにある [System Settings] をクリックします。
[Enable New System Setting] ボックスに「cmee.eventframework.embedded.jms.url」と入力し、[Enable] をクリックして、この非表示のプロパティを表示します。
[Embedded JMS Server URL] プロパティに、クラスタ化された Oracle Enterprise Repository サーバ上の組み込みの JMS サーバの接続 URL を次の形式で指定します。
failover:(tcp:// $SERVER_DNS_NAME_OR_IP$:61700,tcp://$SERVER_DNS_NAME_OR_IP$:61700, …)
入力する内容は以下のとおりです。
$SERVER_DNS_NAME_OR_IP$ は、実際のサーバ DNS 名または IP アドレスによって置き換えられます。特定のクラスタ内の各 Oracle Enterprise Repository サーバについて、このエントリを繰り返し使用する必要があります。
上記の例を使用すると、このプロパティを次のように設定できます。
failover:(tcp://server01:61700,tcp://server02:61700)
| 警告 : |
ポート 61700 は組み込みの JMS サーバのデフォルト ポートであるため、そのサーバについて別のポートがコンフィグレーションされない限り、Oracle Enterprise Repository サーバ上の他のアプリケーションでは使用できません。 |
[Save] をクリックします。
特定のクラスタ内の Oracle Enterprise Repository の各インスタンスについて手順 1 ~ 4 を繰り返します。上記の例を使用すると、組み込みのブローカの URL を次のように設定できます。failover:(tcp://server01:61700,tcp://server02:61700)
| ヒント : |
組み込みの各 JMS サーバを有効にする場合は、cmee.eventframework.embedded.jms.enabled プロパティを True に設定してください。 |
クラスタ化に必要な外部 JMS サーバのコンフィグレーション
外部 JMS サーバの場合、追加のコンフィグレーションは不要です。ただし、次の手順で組み込みの JMS サーバを無効にしてください。
Oracle Enterprise Repository の [Admin] 画面のサイドバーにある [System Settings] をクリックします。
[Event Manager Embedded JMS Enable] プロパティを [False] (cmee.eventframework.embedded.jms.enabled を False) に設定します。
WebSphere 6.1.0.5 での JMS プロバイダのコンフィグレーション
Oracle Enterprise Repository が WebSphere Application Server 6.1.0.5 にデプロイされる場合、組み込みの Apache ActiveMQ JMS サーバを使用することはできません。そのため、WebSphere 6.1.0.5 の実装では、WebSphere 6.1.0.5 に付属のデフォルトの JMS プロバイダを使用する必要があります。
WebSphere 6.1.0.5 で Oracle Enterprise Repository 用の JMS プロバイダをコンフィグレーションするには、WebSphere 管理コンソールと Oracle Enterprise Repository アプリケーションで次の手順に従います。
新しい Service Integration Bus を作成します。
ナビゲーション ペインで、[Service Integration] を展開し、[Buses] をクリックします。
[Buses] ページで、[New] をクリックします。
[Create a new bus] ページで、新しいバスの名前として「alerbus」と入力します。
[Bus security] チェック ボックスのチェックをはずします。
[Next] をクリックし、[Finish] をクリックします。
新しく作成された alerbus にバス メンバーを追加します。
[Buses] ページで、[alerbus] リンクをクリックします。
[Topology] カテゴリの [Bus members] をクリックします。
[Bus members] ページで、[Add] をクリックします。
[Add a new bus member|Select Server, Cluster or WebSphere MQ server] ページで、デフォルトの [Server] オプションをそのまま使用して、[Next] をクリックします。
[Add a new bus member|Select the type of message store] ページで、デフォルトの [File store] オプションをそのまま使用して、[Next] をクリックします。
[Add a new bus member|Provide the message store properties] ページで、デフォルト値をそのまま使用して、[Next] をクリックします。
[Add a new bus member|Confirmation] ページで、[Finish] をクリックします。
[Buses] ページで、[Save] をクリックします。
デフォルトのメッセージ プロバイダで JMS トピック接続ファクトリを作成します。
ナビゲーション ペインで、[JMS] を展開し、[JMS providers] をクリックします。
[Default messaging provider] オプションをクリックします。スコープの指定は Node=<nodename>, server=server1 にします。
[JMS providers|Default messaging provider] ページで、[Additional Properties] の下にある [Topic connection factories] オプションをクリックします。
[JMS providers|Default messaging provider|Topic connection factories] ページで、[New] をクリックします。
[Administration] ページで、次のようにトピック接続ファクトリをコンフィグレーションします。
[Name] - alerEventingTopicCFDefault
[JNDI name] - jms.alerEventingTopicCFDefault
[Bus name] - alerbus
[Client identifier] - ALER_JmsProducer
[Durable subscription home] - <ノード名>.server1-alerbus
[Apply] をクリックし、[Save] をクリックします。
デフォルトのメッセージ プロバイダで JMS トピックを作成します。
[JMS providers|Default messaging provider] ページにもう一度移動します。
[Additional Properties] の下にある [Topics] オプションをクリックします。
[JMS providers|Default messaging provider|Topics] ページで、[New] をクリックします。
[Administration] ページで、次のようにトピックをコンフィグレーションします。
[Name] - alerEventingTopicDefault
[JNDI name] - jms.alerEventingTopicDefault
[Topic name] - alerEventingTopicDefault
[Bus name] - alerbus
[Topic space] - Default.Topic.Space
[Apply] をクリックし、[Save] をクリックして変更を保存します。
次の手順に従って、aler.ear アプリケーション ファイルをデプロイします。
ナビゲーション ペインで、[Applications] を展開し、[Enterprise Applications] をクリックします。
[Enterprise Applications] ページで、[Install] をクリックします。
[Preparing for the application install] ページで、[Browse] をクリックし、aler.ear ファイルをパスに指定して、[Next] をクリックします。
[Select installation options] ページで、[Next] をクリックします。
[Map modules to servers] ページで、[Next] をクリックします。
[Map resources to resource references] ページで、[Target Resource JNDI Name] カラムの [Browse] をクリックします。
[Enterprise application|Available resources] ページで、[alerEventingTopicCFDefault] を選択し、[Apply] をクリックします。
[ensuing Map resources to resource references] ページで、[Next] をクリックします。
[Map resource environment entry references to resources] ページで、[Target Resource JNDI Name] に「jms/aler/alerEventingTopicDefault」と入力し、[Next] をクリックします。
[Summary] ページで、[Finish] をクリックします。
アプリケーションがインストールされたら、[Save] をクリックしてアプリケーションをマスター コンフィグレーションに保存します。
Oracle Enterprise Repository インストール ガイドに記載されている Oracle Business Process Management Process Engine と Advanced Registration Flow の手動インストールの手順に従って、web-inf/classes ディレクトリにある追加のファイルと Oracle Enterprise Repository アプリケーションで必要なデータベース ドライバをデプロイします。
WebSphere 設定用の Oracle Enterprise Repository の eventing.properties ファイルをコンフィグレーションします。
<OER ドメイン>\WEB-INF\classes ディレクトリに移動します。
テキスト エディタを使用して、eventing.properties ファイルを次のように変更します。
cmee.eventframework.jms.topic=jms.alerEventingTopicDefault
cmee.eventframework.jndi.provider.url=iiop\://localhost:2809
cmee.eventframework.embedded.jms.enabled=false
cmee.eventframework.jndi.context.factory=com.ibm.websphere.naming.WsnInitialContextFactory
cmee.eventframework.jms.connection.factory=jms.alerEventingTopicCFDefault
ファイルを保存します。
WebSphere アプリケーション サーバを再起動して、設定の変更を有効にします。
次の場所に保存されている WebSphere ログで、発生する問題について確認します。\WebSphere\AppServer\profiles\AppSrv01\logs\server1