タグの直後に<p:ajax>タグを記述しています。メソッドが呼び出されます。「メッセージの表示部」に更新します。最後にメッセージ表示部の実装部分について説明します。中で下記のコードで参照・表示されます。タグは、スクロールが可能なパネルで長文のメッセージを表示する際に、スクロールしながら参照が可能なパネルです。等をエスケープ&lt;、&gt;しますので、HTMLメールをそのまま表示させるために、この部分だけエスケープしないように設定しています。クラスを下記に示します。形式様々な形のメッセージが存在します。そこで、メッセージのタイプに応じて表示用の文字列を取得する必要があります。表示のみ対応しています。その文字列をそのまま返し、プレイン・テキストの場合、&lt:PRE>を付加してメッセージの形式をそのままの形で表示して返しています。クラスを下記に示します。コンテンツには現在未対応です。メソッドが実際の解析を行なっています。ユーティリティ・クラスから文字列が返ってくると、その値をそのまま並列タスクの戻り値として返します。以上により、大まかな実装の概要説明は終了です。通信時にステータス・ウィンドウを表示させる方法を紹介します。リクエストを行なう際に、上記のステータスを表示するダイアログを表示させています。長時間処理を要するような処理を行なう際にとても有用です。リクエストが実行されているのか否かわからなくなります。下記のタグを使用して実装しました。通信時にステータス・ウィンドウが表示されるようになります。全ての処理で上記ダイアログを表示させたくない場合もあります。リクエストではダイアログを非表示にする事もできます。リクエストではダイアログを非表示にしています。利用できるわけではないようです。ある程度簡単に、シングル・ページ・アプリケーションを構築する事ができます。如何でしょうか?是非この開発生産性の高い技術をお試しください。サンプル・アプリケーションとして作成しました。そのため、実務レベルで使用するためには細かい部分で実装が足りていません。サーバに接続し全情報を取得しますので、アプリケーションの動作としてとても遅いと感じるかもしれません。サーバに接続しに行っているため遅くなっています。メールクライアントが実装しているような、ローカル・キャッシュを実装していません。サーバに参照に行っています。起動時に全画面の描画を高速にするためには、ローカル・キャッシュのデータを参照するなどが必要です。ソースに記述しています)。セッション・タイムアウトに対する実装も今回は実装していません。ログイン認証も簡易実装しています。レルム」のエントリをご参照ください。ここで、ご紹介した内容の内、ご参考になる部分があれば幸いです。EEハンズオン」を実施します。今日はそのハンズオンで実施する内容についてご紹介します。実施したハンズオンの資料を下記に公開しました。本プロジェクトの全ソースコードは下記より参照できます。記載したためページ数が多いですが、実装コード量はとても少ないです。含まれる技術だけを使ってリアルタイムの情報配信をするアプリケーションを作成します。アイディア次第でとてもおもしろい物を作れるだけでなく、実際にビジネスで即使えるような物も作れます。本番環境で大規模に扱うためには負荷も考慮しなければなりません。アプリケーションを動作させた場合、そのサーバに接続するクライアントにのみしか状況発信、共有などができないため、おのずと接続数に限界が生じます。実際には接続数ではなく、情報配信の部分がボトルネックとなり接続数を制限せざるおえない状況になるでしょう。それでは、単純に台数を増やしてクラスタ構成を組めば良いと考えるかもしれませんがそんなに簡単にはいきません。サーバ・エンドポイントに接続するクライアントの管理は自身でする事になっており、インスタンスをまたいで接続しているクライアントの情報を管理するのはとても大変だからです。クライアント・エンドポイントの情報(全クライアント情報)を入れたとして、その情報をインスタンス間で交換するのはデータ量も多くナンセンスです。ある一つのインスタンスで受信したメッセージを他の全インスタンスに共有させるのも、インスタンスの増加の度にコードを修正しなければならなくなるので現実的ではありません。関連製品)を使用します。メッセージ・プロバイダにメッセージをキューイングし、アプリケーション・サーバの各インスタンスがキューを監視していれば、キューにデータが入ってきた時点でそのメッセージを取り出し処理をする事ができます。クライアント・エンドポイントに対してメッセージを配信を行います。側の実装パッケージをを分ける事によって、上記の概念図に示すように、よりセキュアに情報発信側と受信側を分けて運用する事もできるようになります。サーバに接続する全クライアントに情報配信ができようなシステムは危険ですよね。クラスタリング構成を作成します。動かしている動画を下記に示します。部分は対象範囲外とします。今回のハンズオンは少し応用するだけで、スポーツ・ニュースの配信サイトで行われているようなリアルタイムの試合経過速報等をとても簡単にさらに効率良く提供する事ができるようになります。それ以外にもお客様にリアルタイムの情報をいち早くお届けしたいニーズがあればすぐにご利用いただけるでしょう。実施しますので楽しみにしておいてください。リアルタイム情報配信を是非ご検討ください。バンドル版)以降のインストールをしていただくだけです。それ以外は一切必要ございません。それぞれ、下記より御入手ください。これから説明、配布用の資料を作成しよう。実施したハンズオンの資料を下記に公開しました。組み合わせたデモのコードについてご紹介すると共に、実装時の注意点をご報告いたします。組み合わせたコードを実装する際にハマった内容をお届けします。コードは下記のようなコードを記載しています。側のスレッドの制限があったためです。エンドポイントに対してメッセージを配信するコードを記載しました。下記のような感じです。}}そして、下記のコードを書いてタスクを実行しました。}すると下記の例外が発生しました。ソースコードを追ってみると、既にヒープが開放されてしまっているようです。仕様のスレッド関連部分をチェックしてみました。関するスレッドの注意書きが記載されておりました。ここに記載されており、同時にピア毎に1つ以上のスレッドからエンドポイントのインスタンスを呼び出してはならない。)と記載されておりました。クライアント・エンドポイントへのメッセージ送信は1箇所にまとめて実装しなければならない事に気付き上記のようなコードを書いています。等サーバ側の実装も今のままだと難しい部分があるかもしれません。当たりで、マルチスレッドからのメッセージ送信もできるかも?!しれないので、賛同して頂ける方がいらっしゃったら、まとめて報告したいなと思っております。(仕様上ダメって断られる可能性ももちろんありますが。プログラムに参加し、日本から改善要望なども出していけるといいですね。使用に同意したとみなされます。Terada現在53人フォロワーがいます。購読管理このバーを折りたたむ。