この章では、ユーザー・メッセージング・サービス(UMS) EJB APIを使用したアプリケーションの開発方法、およびusermessagingsample-ejb.earとusermessagingsample-echo-ejb.earの2つのサンプル・アプリケーションの作成方法について説明します。
|
注意: この章で説明するユーザー・メッセージング・サービスEJB APIは非推奨です。かわりに、第64章「ユーザー・メッセージング・サービスJava APIを使用したメッセージの送受信」で説明するユーザー・メッセージング・サービスJava APIを使用してください。 |
この章には次の項が含まれます:
第63.1項「UMS Java APIの概要」
第63.2項「UMSクライアント・インスタンスの作成」
第63.3項「メッセージの送信」
第63.4項「メッセージの受信」
第63.5項「UMS Enterprise JavaBeansクライアントAPIを使用したクライアント・アプリケーションの作成」
第63.6項「UMS Enterprise JavaBeansクライアントAPIを使用したクライアント・エコー・アプリケーションの作成」
第63.7項「新規アプリケーション・サーバー接続の作成」
|
注意: Oracle User Messaging Serviceのコード・サンプルに関する詳細を参照したり、サンプルを自分で実行するには、次の場所にあるサンプルを参照してください。
|
UMS Java APIは、Enterprise JavaBeansクライアント用アプリケーションの開発をサポートします。これは、次のようにグループ化されたパッケージで構成されています。
共通およびクライアントのパッケージ
oracle.sdp.messaging
oracle.sdp.messaging.filter: アプリケーションでMessageFilterを使用すると、配信されるメッセージをより強力に制御できます。
ユーザー・プリファレンス・パッケージ
oracle.sdp.messaging.userprefs
oracle.sdp.messaging.userprefs.tools
UMS Enterprise JavaBeansクライアントAPIを使用するJava EEアプリケーション・モジュールについては、次の2つの選択肢があります。
Enterprise JavaBeansアプリケーション・モジュール - ステートレス・セッションBean: メッセージ送受信の中核となるバック・エンドのアプリケーションです。
Webアプリケーション・モジュール: HTMLまたはWebフロント・エンドを使用するアプリケーション用です。
どちらのアプリケーション・モジュールを選択した場合でも、UMSクライアントAPIを使用してアプリケーションをUMSサーバーに登録し、次に、メッセージの送信または受信、ステータスの取得、およびアクセス・ポイントの登録または登録解除を行う操作を起動します。操作の完全なリストは、UMS Javadocを参照してください。
ソース・コードを含むサンプルは、Oracle Technology Network(OTN)から入手できます。
この項では、UMS Enterprise JavaBeansクライアントを作成するための要件を説明します。MessagingEJBClientインスタンスは、MessagingClientFactoryクラスのコードを使用して作成できます。
UMS Enterprise JavaBeansクライアントを使用して作成したアプリケーションは、EARファイルとしてパッケージ化され、usermessagingclient-ejb.jarモジュールがEnterprise JavaBeansモジュールとしてバンドルされている必要があります。
例63-1に、プログラミングによってMessagingEJBClientインスタンスを作成する場合のコードを示します。
例63-1 プログラミングによるMessagingEJBClientインスタンスの作成
ApplicationInfo appInfo = new ApplicationInfo();
appInfo.setApplicationName("SampleApp");
appInfo.setApplicationInstanceName("SampleAppInstance");
MessagingClient mClient =
MessagingClientFactory.createMessagingEJBClient(appInfo);
MessagingEJBClientインスタンスは、宣言的な方法でも作成できます。宣言的な方法を使用するとデプロイメント時に変更が可能になるため、通常はこの方法をお薦めします。
Java EEモジュールのディスクリプタ(ejb-jar.xmlまたはweb.xml)には、必要なすべてのアプリケーション情報プロパティを環境エントリとして指定する必要があります。
例63-2に、宣言的な方法でMessagingEJBClientインスタンスを作成する場合のコードを示します。
メッセージは、MessageFactoryクラスのコードおよびoracle.sdp.messagingのMessageインタフェースを使用して作成できます。
作成できるメッセージのタイプには、プレーン・テキスト・メッセージ、text/plainパートとtext/htmlパートで構成できるマルチパート・メッセージ、および異なる配信タイプを使用して、複数受信者用の単一メッセージに配信チャネル(DeliveryType)固有のペイロードを作成するメッセージがあります。
この項では、作成できる様々なタイプのメッセージについて説明します。
例63-4に、UMS Java APIを使用してマルチパート・メッセージまたは代替メッセージを作成する方法を示します。
例63-4 UMS Java APIを使用したマルチパート・メッセージまたは代替メッセージの作成
Message message = MessageFactory.getInstance().createMessage();
MimeMultipart mp = new MimeMultipart("alternative");
MimeBodyPart mp_partPlain = new MimeBodyPart();
mp_partPlain.setContent("This is a Plain Text part.", "text/plain");
mp.addBodyPart(mp_partPlain);
MimeBodyPart mp_partRich = new MimeBodyPart();
mp_partRich
.setContent(
"<html><head></head><body><b><i>This is an HTML part.</i></b></body></html>",
"text/html");
mp.addBodyPart(mp_partRich);
message.setContent(mp, "multipart/alternative");
メッセージを宛先アドレスに送信する際は、複数のチャネルが関連する場合があります。Oracle UMSアプリケーション開発者は、各チャネルに対して正しいマルチパート書式を指定する必要があります。
例63-5に、異なる配信タイプを使用して、複数受信者用の単一メッセージに、配信チャネル(DeliveryType)固有のペイロードを作成する方法を示します。
複数ペイロードのマルチパート/代替メッセージの各最上位パートには、このヘッダーの値が1つ以上含まれている必要があります。このヘッダーの値は、有効な配信タイプの名前である必要があります。DeliveryTypeの使用可能な値は、列挙DeliveryTypeを参照してください。
例63-5 異なる配信タイプを使用した、複数受信者用の単一メッセージへの配信チャネル固有のペイロード作成
Message message = MessageFactory.getInstance().createMessage();
// create a top-level multipart/alternative MimeMultipart object.
MimeMultipart mp = new MimeMultipart("alternative");
// create first part for SMS payload content.
MimeBodyPart part1 = new MimeBodyPart();
part1.setContent("Text content for SMS.", "text/plain");
part1.setHeader(Message.HEADER_NS_PAYLOAD_PART_DELIVERY_TYPE, "SMS");
// add first part
mp.addBodyPart(part1);
// create second part for EMAIL and IM payload content.
MimeBodyPart part2 = new MimeBodyPart();
MimeMultipart part2_mp = new MimeMultipart("alternative");
MimeBodyPart part2_mp_partPlain = new MimeBodyPart();
part2_mp_partPlain.setContent("Text content for EMAIL/IM.", "text/plain");
part2_mp.addBodyPart(part2_mp_partPlain);
MimeBodyPart part2_mp_partRich = new MimeBodyPart();
part2_mp_partRich.setContent("<html><head></head><body><b><i>" + "HTML content for EMAIL/IM." +
"</i></b></body></html>", "text/html");
part2_mp.addBodyPart(part2_mp_partRich);
part2.setContent(part2_mp, "multipart/alternative");
part2.addHeader(Message.HEADER_NS_PAYLOAD_PART_DELIVERY_TYPE, "EMAIL");
part2.addHeader(Message.HEADER_NS_PAYLOAD_PART_DELIVERY_TYPE, "IM");
// add second part
mp.addBodyPart(part2);
// set the content of the message
message.setContent(mp, "multipart/alternative");
// set the MultiplePayload flag to true
message.setMultiplePayload(true);
この項では、アドレスのタイプおよびAddressオブジェクトの作成方法について説明します。
アドレスには、デバイス・アドレスとユーザー・アドレスの2種類があります。デバイス・アドレスには、電子メール・アドレス、インスタント・メッセージ・アドレス、電話番号など、様々なタイプがあります。ユーザー・アドレスは、ユーザー・リポジトリにあるユーザーIDです。
Addressインタフェースで定義するAddressオブジェクトは、AddressFactoryクラスを使用してメッセージの送信者と受信者のアドレスを指定することで作成できます。
Oracle UMSを使用すると、メッセージ・ステータスを同期または非同期で取得できます。
現行ステータスの同期取得を実行するには、MessagingClient APIから次のフローを使用します。
String messageId = messagingClient.send(message); Status[] statuses = messagingClient.getStatus(messageId);
または、
Status[] statuses = messagingClient.getStatus(messageId, address[]) --- where address[] is an array of one or more of the recipients set in the message.
この項では、アプリケーションでメッセージを受信する方法について説明します。メッセージを受信するには、最初にアクセス・ポイントを登録する必要があります。アプリケーション側から見ると、メッセージを受信するモードには同期と非同期があります。
AccessPointは、着信メッセージを受信するための1つ以上のデバイス・アドレスを表します。着信メッセージを受信するアプリケーションでは、メッセージの受信者アドレスを表すアクセス・ポイントを1つ以上登録する必要があります。サーバーでは、着信メッセージの受信者アドレスと一連の登録済アクセス・ポイントを照合し、一致したアクセス・ポイントを登録したアプリケーションに、その着信メッセージをルーティングします。
AccessPointFactory.createAccessPointを使用してアクセス・ポイントを作成し、そのアクセス・ポイントをMessagingClient.registerAccessPointを使用してメッセージ受信用に登録できます。
番号9000のSMSアクセス・ポイントを登録するには、次のように指定します。
AccessPoint accessPointSingleAddress = AccessPointFactory.createAccessPoint(AccessPoint.AccessPointType.SINGLE_ADDRESS, DeliveryType.SMS, "9000"); messagingClient.registerAccessPoint(accessPointSingleAddress);
番号が9000から9999の範囲内のSMSアクセス・ポイントを登録するには、次のように指定します。
AccessPoint accessPointRangeAddress = AccessPointFactory.createAccessPoint(AccessPoint.AccessPointType.NUMBER_RANGE, DeliveryType.SMS,"9000,9999"); messagingClient.registerAccessPoint(accessPointRangeAddress);
メッセージの同期受信には、メソッドMessagingClient.receiveを使用できます。このメソッドは、メッセージの非同期受信による構成オーバーヘッドを望まない軽量なクライアント向けの便利なポーリング・メソッドです。このメソッドは、アプリケーションのインバウンド・キューですぐに使用できるメッセージのリストを戻します。このメソッドは非ブロック・コールを実行するため、現在使用できるメッセージがない場合はNULLを戻します。
|
注意: 1回の起動で、使用可能なメッセージがすべて取得される保証はありません。ポーリングして、使用可能なすべてのメッセージを受信したことを確認する必要があります。 |
非同期受信には、MDBの構成、ステートレス・セッションBeanメッセージ・リスナーの記述など、多数のタスクが関連しています。詳細な手順については、サンプル・アプリケーションusermessagingsample-echoを参照してください。
アプリケーションでMessageFilterを使用すると、配信されるメッセージをより強力に制御できます。MessageFilterには、一致基準とアクションが含まれています。アプリケーションでは、一連のメッセージ・フィルタを登録できます。登録されたメッセージ・フィルタは、着信(受信)メッセージに順に適用され、メッセージが基準と一致するとアクションが実行されます。たとえば、アプリケーションでMessageFiltersを使用して必要なブラックリストを実装すると、指定した送信者アドレスからのすべてのメッセージを拒否できます。
MessageFilterFactory.createMessageFilterを使用してメッセージ・フィルタを作成し、そのメッセージ・フィルタをMessagingClient.registerMessageFilterを使用して登録できます。フィルタは、アプリケーションの現行フィルタ・チェーンの最後に追加されます。受信したメッセージは、フィルタ・チェーンを順に通過します。メッセージがフィルタの基準に一致すると、そのフィルタのアクションが即時に実行されます。メッセージがフィルタに一致しない場合のデフォルト・アクションでは、そのメッセージが受信されてアプリケーションに配信されます。たとえば、件名が"spam"のメッセージを拒否するには、次のように指定します。
MessageFilter subjectFilter = MessageFilterFactory.createMessageFilter("spam",
MessageFilter.FieldType.SUBJECT, null, MessageFilter.Action.REJECT);
messagingClient.registerMessageFilter(subjectFilter);
電子メール・アドレスspammer@foo.comからのメッセージを拒否するには、次のように指定します。
MessageFilter senderFilter =
MessageFilterFactory.createBlacklistFilter("spammer@foo.com");
messagingClient.registerMessageFilter(senderFilter);
この項では、usermessagingsampleというアプリケーションの作成方法について説明します。このアプリケーションは、アウトバウンド・メッセージングおよびメッセージ・ステータスの同期取得の両方に対してUMS Enterprise JavaBeansクライアントAPIを使用するWebクライアント・アプリケーションです。usermessagingsampleはインバウンド・メッセージングもサポートしています。デプロイして構成したusermessagingsampleを使用すると、電子メール・クライアントにメッセージを送信できます。
|
注意: Oracle User Messaging Serviceのコード・サンプルに関する詳細を参照したり、サンプルを自分で実行するには、Oracle SOA Suiteのサンプルを参照してください。 このページにナビゲートした後は、検索条件の「UMS」を入力して「検索」をクリックすることで、Oracle User Messaging Serviceのコード・サンプルを検出できます。 |
第63.1.1項「Java EEアプリケーション・モジュールの作成」で説明した2つのアプリケーション・モジュール選択肢の内、このサンプルはWebアプリケーション・モジュール(WAR)に重点を置き、いくつかのHTMLフォームとサーブレットを定義します。Webアプリケーション・モジュールのコードと対応するXMLファイルは、提供されているusermessagingsample-src.zipソースから使用できます。サーブレットでは、UMS Enterprise JavaBeansクライアントAPIを使用して、UMS Enterprise JavaBeansクライアント・インスタンスを作成し(次に、アプリケーションの情報を登録します)、メッセージを送信します。
このアプリケーションはusermessagingsample-ejb.earというEnterprise Archive(EAR)ファイルとしてパッケージ化されており、その構造は次のとおりです。
usermessagingsample-ejb.ear
META-INF
application.xml: すべてのアプリケーション・モジュール用のディスクリプタ・ファイル。
weblogic-application.xml: oracle.sdp.messaging共有ライブラリのimportを含むディスクリプタ・ファイル。
usermessagingclient-ejb.jar: メッセージEnterprise JavaBeansクライアントのデプロイメント・ディスクリプタが格納されます。
META-INF
ejb-jar.xml
weblogic-ejb-jar.xml
usermessagingsample-web.ear: Webベースのフロント・エンドおよびサーブレットが格納されます。
WEB-INF
web.xml
weblogic.xml
ビルトインのサンプル・アプリケーションおよびソース・コード(usermessagingsample-src.zip)は、OTNで入手できます。
Oracle User Messaging Serviceの電子メール・ドライバを有効にしてアウトバウンド・メッセージングおよびステータスの取得を実行するには、電子メール・ドライバを次のように構成します。
OutgoingMailServerプロパティの値として、SMTPメール・サーバーの名前を入力します。
|
注意: このサンプル・アプリケーションは汎用的であるため、適切なメッセージング・ドライバがデプロイされて構成されている場合は、他のチャネル経由のアウトバウンド・メッセージングもサポートできます。 |
この項では、Windowsベース・ビルドのJDeveloperを使用して、usermessagingsampleを作成、コンパイルおよびデプロイする手順を説明します。
Oracle JDeveloperで、usermessagingsample.jws(.zipファイルに含まれています)を開きます。
Oracle JDeveloperのメイン・ウィンドウにプロジェクトが表示されます。
Webモジュールで「Oracle UMS Client」ライブラリが使用されていることを確認して、サンプル・アプリケーションのビルド依存性を満たします。
「アプリケーション・ナビゲータ」で、Webモジュール「usermessagingsample-web」を右クリックし、「プロジェクト・プロパティ」を選択します。
左側のペインで、「ライブラリとクラスパス」を選択します。
「OK」をクリックします。
usermessagingclient-ejbプロジェクトがアプリケーションに存在していることを確認します。これは、UMSアプリケーションで使用するメッセージング・クライアントBeanをパッケージ化したEnterprise JavaBeansモジュールです。このモジュールによって、アプリケーションはUMSサーバーに接続できます。
usermessagingsample-webプロジェクトの下にあるJavaファイルを検索し、メッセージング・クライアントAPIを使用してメッセージの送信、ステータスの取得およびメッセージの同期受信を実行する方法を確認します。UMSサーバーに登録されるアプリケーション情報は、プロジェクトのSampleUtils.javaにプログラムによって指定されます(例63-10)。
アプリケーションをデプロイする手順は、次のとおりです。
ナビゲーション・ペインでアプリケーションを右クリックし、「新規」を選択して、アプリケーション・サーバー接続を作成します。第63.7項「新規アプリケーション・サーバー接続の作成」の説明に従います。
アプリケーションをデプロイするには、「usermessagingsample application」→「デプロイ」→「usermessagingsample」→「デプロイ先」→「SOA_server」の順に選択します(図63-3)。
メッセージBuild Successfulがログに表示されていることを確認します。
メッセージDeployment Finishedがデプロイメント・ログに表示されていることを確認します。
アプリケーションが正常にデプロイされました。
サンプルを実行するには、その前に、Oracle User Messaging Serviceの追加ドライバを構成し、必要に応じて、ユーザー・メッセージング・プリファレンスでメッセージを受信するユーザー用のデフォルト・デバイスを構成する必要があります。
|
注意: 詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。 |
Oracle WebLogic Serverの実行中のインスタンスにusermessagingsampleをデプロイした後は、次の手順を実行します。
Webブラウザを起動し、サンプル・アプリケーションのアドレスをhttp://host:http-port/usermessagingsample/と入力します。たとえば、ブラウザのナビゲーション・バーにhttp://localhost:7001/usermessagingsample/と入力します。
プロンプトが表示された場合は、ログイン資格証明を入力します。たとえば、ユーザー名はweblogicと入力します。メッセージ・サンプルをテストするためのブラウザ・ページが表示されます(図63-4)。
サンプル・メッセージの送信をクリックします。「メッセージの送信」ページが表示されます(図63-5)。
(オプション)送信者アドレスを次の書式で入力します。
Email:sender_address
たとえば、Email:sender@oracle.comと入力します。
受信者アドレスを1つ以上入力します。たとえば、Email:recipient@oracle.comと入力します。複数のアドレスを入力する場合は、次のようにカンマ区切りリストで入力します。
Email:recipient_address1, Email:recipient_address2
ユーザー・メッセージング・プリファレンスを構成している場合、メッセージのアドレスは単にUser:usernameと指定できます。たとえば、User:weblogicと入力します。
(オプション)件名、つまり電子メールの内容を入力します。
「送信」をクリックします。メッセージ・ステータス・ページが表示され、トランザクションの進捗が表示されます(図63-6には、メッセージング・エンジンが受信して処理するメッセージが表示されています)。
リフレッシュをクリックしてステータスを更新します。電子メール・メッセージが電子メール・サーバーに配信されると、「ステータスの内容」フィールドに「リモート・ゲートウェイへのアウトバウンド・メッセージの配信に成功しました。」と表示されます。
この項では、usermessagingsample-echoというアプリケーションの作成方法について説明します。このアプリケーションは、UMS Enterprise JavaBeansクライアントAPIを使用して、電子メール・アドレスからメッセージを非同期で受信し、リプライを送信者にエコーして戻すデモ・クライアント・アプリケーションです。
|
注意: Oracle User Messaging Serviceのコード・サンプルに関する詳細を参照したり、サンプルを自分で実行するには、Oracle SOA Suiteのサンプルを参照してください。 このページにナビゲートした後は、検索条件の「UMS」を入力して「検索」をクリックすることで、Oracle User Messaging Serviceのコード・サンプルを検出できます。 |
このアプリケーションはusermessagingsample-echo-ejb.earというEnterprise Archive(EAR)ファイルとしてパッケージ化されており、その構造は次のとおりです。
usermessagingsample-echo-ejb.ear
META-INF
application.xml: すべてのアプリケーション・モジュール用のディスクリプタ・ファイル。
weblogic-application.xml: oracle.sdp.messaging共有ライブラリのimportを含むディスクリプタ・ファイル。
usermessagingclient-ejb.jar: メッセージEnterprise JavaBeansクライアントのデプロイメント・ディスクリプタが格納されます。
META-INF
ejb-jar.xml
weblogic-ejb-jar.xml
usermessagingsample-echo-ejb.jar: 受信したメッセージを処理してエコー・レスポンスを戻すアプリケーション・セッションBean(ClientSenderBean、ClientReceiverBean)が格納されます。
META-INF
ejb-jar.xml
weblogic-ejb-jar.xml
usermessagingsample-echo-web.war: Webベースのフロント・エンドおよびサーブレットが格納されます。
WEB-INF
web.xml
weblogic.xml
ビルトインのサンプル・アプリケーションおよびソース・コード(usermessagingsample-echo-src.zip)は、OTNで入手できます。
次の各項では、usermessagingsample-echo-ejb.earを例にして、非同期のインバウンドおよびアウトバウンド・メッセージング機能を持つアプリケーションの作成プロセスを説明します。
Oracle User Messaging Serviceの電子メール・ドライバを有効にしてインバウンドやアウトバウンド・メッセージングおよびステータスの取得を実行するには、電子メール・ドライバを次のように構成します。
OutgoingMailServerプロパティの値として、SMTPメール・サーバーの名前を入力します。
IncomingMailServerプロパティの値として、IMAP4/POP3メール・サーバーの名前を入力します。受信ユーザー名とパスワードも構成します。
|
注意: このサンプル・アプリケーションは汎用的であるため、適切なメッセージング・ドライバがデプロイされて構成されている場合は、他のチャネル経由のインバウンドおよびアウトバウンド・メッセージングもサポートできます。 |
この項では、Windowsベース・ビルドのJDeveloperを使用して、usermessagingsample-echoを作成、コンパイルおよびデプロイする手順を説明します。
usermessagingsample.echo-src.zipをJDEV_HOME/communications/samples/ディレクトリに解凍します。共有ライブラリ参照をプロジェクトで有効にするには、このディレクトリを使用する必要があります。
|
注意: 別のディレクトリを使用する場合は、oracle.sdp.messagingライブラリ・ソース・パスを |
Oracle JDeveloperで、usermessagingsample-echo.jws(.zipファイルに含まれています)を開きます。
Oracle JDeveloperのメイン・ウィンドウにプロジェクトが表示されます(図63-7)。
次のライブラリがusermessagingsample-echo-webおよびusermessagingsample-echo-ejbモジュールに追加されていることを確認して、サンプル・アプリケーションのビルド依存性が満たされていることを確認します。
ライブラリ: oracle.sdp.messaging、クラスパス: JDEV_HOME/
communications/modules/oracle.sdp.messaging_11.1.1/
sdpmessaging.jar。これはJavaライブラリで、UMS、およびUMSを使用してメッセージを送受信するアプリケーションで使用されます。
各モジュールに対して次の手順を実行します。
「アプリケーション・ナビゲータ」で、モジュールを右クリックし、「プロジェクト・プロパティ」を選択します。
左側のペインで、「ライブラリとクラスパス」を選択します(図63-8)。
「OK」をクリックします。
usermessagingclient-ejbプロジェクトがアプリケーションに存在していることを確認します。これは、UMSアプリケーションで使用するメッセージング・クライアントBeanをパッケージ化したEnterprise JavaBeansモジュールです。このモジュールによって、アプリケーションはUMSサーバーに接続できます。
usermessagingsample-echo-ejbプロジェクトの下にあるJavaファイルを検索し、メッセージング・クライアントAPIを使用して非同期でメッセージを受信(ClientReceiverBean)したり、メッセージを送信(ClientSenderBean)する方法を確認します。
usermessagingsample-echo-webプロジェクトの下にあるJavaファイルを検索し、メッセージング・クライアントAPIを使用してアクセス・ポイントを登録および登録解除する方法を確認します。
UMSサーバーに登録したアプリケーション情報は、usermessagingclient-ejbプロジェクトのejb-jar.xmlファイルに宣言的に指定されることに注意してください(例63-11)。
例63-11 アプリケーション情報
<env-entry>
<env-entry-name>sdpm/ApplicationName</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>UMSEchoApp</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>sdpm/ApplicationInstanceName</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>UMSEchoAppInstance</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>sdpm/ReceivingQueuesInfo</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>OraSDPM/QueueConnectionFactory:OraSDPM/Queues/OraSDPMAppDefRcvQ1<
/env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>
sdpm/MessageListenerSessionBeanJNDIName
</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>
ejb/umsEchoApp/ClientReceiverLocal</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>
sdpm/MessageListenerSessionBeanHomeClassName</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>
oracle.sdp.messaging.sample.ejbApp.ClientReceiverHomeLocal
</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>
sdpm/StatusListenerSessionBeanJNDIName
</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>ejb/umsEchoApp/ClientReceiverLocal</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>sdpm/StatusListenerSessionBeanHomeClassName</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>oracle.sdp.messaging.sample.ejbApp.ClientReceiverHomeLocal</env-e
ntry-value>
</env-entry>
アプリケーション名(UMSEchoApp)とアプリケーション・インスタンス名(UMSEchoAppInstance)は、MessageDispatcherBean MDBのメッセージ・セレクタでも使用されることに注意してください。このメッセージ・セレクタは、アプリケーション受信キューに配置されたメッセージとステータスの非同期受信で使用されます(例63-12)。
例63-12 アプリケーション情報
<activation-config-property>
<activation-config-property-name>
messageSelector
</activation-config-property-name>
<activation-config-property-value>
appName='UMSEchoApp' or sessionName='UMSEchoApp-UMSEchoAppInstance'
</activation-config-property-value>
</activation-config-property>
|
注意: 自身のアプリケーションに対して別のアプリケーション名とアプリケーション・インスタンス名を選択した場合は、このメッセージ・セレクタを更新する必要があります。そうしないと、非同期受信が機能しません。 |
アプリケーションをデプロイする手順は、次のとおりです。
ナビゲーション・ペインでアプリケーションを右クリックし、「新規」を選択して、アプリケーション・サーバー接続を作成します。第63.7項「新規アプリケーション・サーバー接続の作成」の説明に従います。
アプリケーションをデプロイするには、「usermessagingsample-echo application」→「デプロイ」→「usermessagingsample-echo」→「デプロイ先」→「SOA_server」の順に選択します(図63-9)。
メッセージBuild Successfulがログに表示されていることを確認します。
メッセージDeployment Finishedがデプロイメント・ログに表示されていることを確認します。
アプリケーションが正常にデプロイされました。
サンプルを実行するには、その前に、Oracle User Messaging Serviceの追加ドライバを構成し、必要に応じて、ユーザー・メッセージング・プリファレンスでメッセージを受信するユーザー用のデフォルト・デバイスを構成する必要があります。
|
注意: 詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。 |
Oracle WebLogic Serverの実行中のインスタンスにusermessagingsample-echoをデプロイした後は、次の手順を実行します。
Webブラウザを起動し、サンプル・アプリケーションのアドレスをhttp://host:http-port/usermessagingsample-echo/と入力します。たとえば、ブラウザのナビゲーション・バーにhttp://localhost:7001/usermessagingsample-echo/と入力します。
プロンプトが表示された場合は、ログイン資格証明を入力します。たとえば、ユーザー名はweblogicと入力します。メッセージ・サンプルをテストするためのブラウザ・ページが表示されます(図63-10)。
アクセス・ポイントの登録/登録解除をクリックします。「アクセス・ポイントの登録」ページが表示されます(図63-11)。
アクセス・ポイントのアドレスを次の書式で入力します。
EMAIL:server_address
たとえば、EMAIL:myserver@example.comと入力します。
アクションとして登録を選択し、送信をクリックします。登録ステータス・ページが表示され、図63-12に示すように登録済と表示されます。
メッセージ・クライアント(電子メールの場合は電子メール・クライアント)から、前の手順でアクセス・ポイントとして登録したアドレスに、メッセージを送信します。
該当するチャネル用のUMSメッセージング・ドライバが正しく構成されている場合は、usermessagingsample-echoアプリケーションから戻されるエコー・メッセージを受信できるはずです。
次の手順を実行し、アプリケーション・サーバー接続を作成します。
プロジェクトを右クリックし、「新規」→「接続」→「アプリケーション・サーバー接続」の順に選択して、新規アプリケーション・サーバー接続を作成します(図63-13)。
接続にSOA_serverという名前を付けて、「次へ」をクリックします(図63-14)。
「接続タイプ」に「WebLogic 10.3」を選択します。
認証情報を入力します。ユーザー名の一般的な値はweblogicです。
「接続」ダイアログで、SOA管理サーバーのホスト名、ポートおよびSSLポートを入力し、WLSドメインのドメイン名を入力します。
「次へ」をクリックします。
「テスト」ダイアログで、「接続のテスト」をクリックします。
メッセージSuccess!が表示されていることを確認します。
アプリケーション・サーバー接続が作成されました。