メモリ変数ページ
ColdFusion Administrator のメモリ変数ページを使用して、サーバー全体のアプリケーション変数およびセッション変数を有効にできます。デフォルトでは、ColdFusion のインストール時に、アプリケーション変数およびセッション変数が有効になります。メモリ変数ページでいずれかのタイプの変数を無効にした場合は、ColdFusion アプリケーション内でその変数を使用できません。
アプリケーション変数およびセッション変数のタイムアウトの最大値とデフォルト値を指定できます。Application.cfc ファイルまたは Application.cfm ファイルでタイムアウト値を定義しないかぎり、アプリケーション変数は 2 日でタイムアウトとなります。セッション変数は、ユーザーセッションの終了時にタイムアウトとなります。これらの動作を変更する場合は、Administrator のメモリ変数ページでタイムアウトの新規デフォルト値および最大値を入力してください。
注意:アプリケーション変数のために指定する最大タイムアウト値は、Application.cfc ファイルまたは Application.cfm ファイルで設定したタイムアウト値よりも優先されます。
J2EE セッション変数を使用するかどうかを指定することもできます。J2EE セッション変数を有効にした場合、ColdFusion により、各セッションの識別子が作成され、CFToken や CFID Cookie 値は使用されません。詳しくは、『ColdFusion アプリケーションの開発』を参照してください。
注意:J2EE セッションを使用する場合、WEB‑INF/web.xml の session-timeout 要素で指定するセッションタイムアウトは、必ず ColdFusion Administrator でのタイムアウトの指定より長くしてください。また、cfapplication タグで指定したいずれの sessiontimeout 属性よりも長くなるようにしてください。
マッピングページ
サーバー上のディレクトリへのパスに対する論理エイリアスの追加、更新および削除を行うには、ColdFusion Administrator のマッピングページを使用します。ColdFusion マッピングは、cfinclude タグおよび cfmodule タグを使用して ColdFusion によって処理されるページのみに適用されます。web_root ディレクトリ(または "/" にマップされるディレクトリ)以外に CFML ページを保存する場合は、サーバー上でそれらのファイルを保存する場所へのマッピングを追加してください。
例えば、ご使用のサーバー上で "/" マッピングは C:¥coldfusion9¥wwwroot を指しているのに、すべての ColdFusion ヘッダーページは C:¥2002¥newpages¥headers に存在するとします。ColdFusion がこれらのヘッダーページを見つけられるようにするには、ColdFusion Administrator で C:¥2002¥newpages¥headers を指すマッピングを追加します。例えば、/headers を C:¥2002¥newpages¥headers に対応させるマッピングを追加します。C:¥coldfusion9¥wwwroot に存在する ColdFusion ページでは、これらのヘッダーページを参照する場合、cfinclude および cfmodule タグ内で /headers を使用します。
注意:ColdFusion のマッピングは、Web サーバーの仮想ディレクトリとは異なります。Web ブラウザーで URL を使用して特定のディレクトリにアクセスするための仮想ディレクトリを作成する方法については、ご使用の Web サーバーのドキュメントを参照してください。
メールページ
ColdFusion Administrator のメールページでは、自動電子メールメッセージを送信するメールサーバーを指定できます。ColdFusion では、電子メールメッセージの送信に SMTP(Simple Mail Transfer Protocol)が使用され、メールサーバーからの電子メールメッセージの取得には POP(Post Office Protocol)が使用されます。ColdFusion アプリケーション内で電子メール送受信機能を使用するには、SMTP サーバーへのアクセス許可と POP アカウントが必要です。
ColdFusion エンタープライズ版では、メールサーバーのフェイルオーバーと、追加のメール配達オプションをサポートしています。
ColdFusion では、SMTP メール機能を実装するためにスプールアーキテクチャを利用しています。スプールアーキテクチャでは、cfmail タグがアプリケーションページ内で処理されても、生成されたメッセージはすぐには送信されない可能性があります。ColdFusion のキューに大量のメッセージが蓄積されている場合は、配達されるまでにしばらく時間がかかることがあります。
注意:cfmail タグについて詳しくは、『ColdFusion アプリケーションの開発』の「電子メールの送受信」で「cfmail タグによる SMTP 電子メールの送信」を参照してください。
[メールサーバーの設定] 領域
次の表で、基本的なメールサーバーの設定について説明します。
オプション
|
説明
|
[メールサーバー]
|
ダイナミック SMTP メールメッセージを送信するための有効なメールサーバー名を入力します。インターネットアドレス(mail.company.com など)やメールサーバーの IP アドレス(127.0.0.1 など)を入力できます。
|
ユーザー名
|
必要に応じてメールサーバーを利用するためのユーザー名を入力します。
|
パスワード
|
必要に応じてメールサーバーを利用するためのパスワードを入力します。
|
署名
|
メールにデジタル署名を追加するように ColdFusion を設定する場合は、このチェックボックスをオンにします。
|
キーストア
|
秘密キーと証明書が格納されているキーストアの場所です。サポートされているタイプは JKS(java key store)と pkcs12 です。
|
[キーストアパスワード]
|
キーストアのパスワードです。
|
[キーエイリアス]
|
証明書と秘密キーをキーストアに保存するために使用するキーのエイリアスです。これを指定しない場合は、キーストアの最初のエントリが使用されます。
|
キーパスワード
|
秘密キーを保存するために使用するパスワードです。これを指定しない場合は、[キーストアパスワード] が [キーパスワード] として使用されます。
|
[メールサーバーの接続の確認]
|
指定したメールサーバーに ColdFusion から接続できるかどうかを、このフォームの送信後に確認します。
このオプションを使用しない場合でも、テストメッセージを送信してメールサーバーへの接続が機能することを確認してください。
|
サーバーポート
|
メールサーバーを実行するポート番号を入力します。正しいポート番号がわからない場合は、サーバー管理者に確認してください。
|
バックアップメールサーバー(エンタープライズ版のみ)
|
SMTP メールメッセージを送信するためのバックアップサーバーを入力します(省略および複数指定も可)。インターネットアドレス(mail.company.com など)やメールサーバーの IP アドレス(127.0.0.1 など)を入力できます。複数のサーバーを指定する場合は、カンマで区切ります。
メールサーバーが認証を必要とする場合は、username:password@mailserveraddress のように、メールサーバーアドレスの前にユーザー名とパスワードを追加します。
デフォルト(25)以外のポート番号を使用する場合は、mailserveraddress:portnumber という形式で指定します。
|
メールサーバーへの接続を維持します
(エンタープライズ版のみ)
|
メールメッセージの送信後に、メールサーバーへの接続を開いたままにします。このオプションを有効にすると、複数のメッセージを配達する際のパフォーマンスが向上します。
|
接続タイムアウト (秒)
|
ColdFusion がメールサーバーからのレスポンスを待つ際のタイムアウトまでの時間を秒単位で指定します。
|
メールサーバーへの SSL ソケット接続の有効化
|
メールサーバーへの接続で SSL の暗号化を有効にします。
|
メールサーバーへの TLS 接続の有効化
|
メールサーバーへの接続で TLS(Transport Layer Security)を有効にします。
|
[メールスプールの設定] 領域
次の表で、メールサーバーのスプールの設定について説明します。
オプション
|
説明
|
[スプール間隔 (秒)]
|
スプールされたメールがメールサーバーによって処理される間隔を秒単位で指定します。
|
メール配達スレッド
(エンタープライズ版のみ)
|
スプールされたメールを配達するために同時に使用するスレッド数の最大値を入力します。
|
配達されるメールメッセージをスプールします
(メモリへのスプールはエンタープライズ版のみ)
|
送信メールメッセージをメールスプーラーに送ります。このオプションを無効にすると、送信されるメールメッセージは直ちに配達されます。ColdFusion エンタープライズ版では、ディスク(低速であるがシャットダウンしてもメッセージは保持される)またはメモリ(高速であるがシャットダウンするとメッセージは失われる)にメッセージをスプールすることができます。
この設定を cfmail タグで上書きできます。
|
メモリにスプールされるメッセージの最大数
(エンタープライズ版のみ)
|
メモリにスプールできるメッセージの最大数を入力します。この数を超えるとディスクへのスプールに切り替わります。
|
[未配達メールの表示]
|
クリックすると、配信されなかったメールが表示されます。
|
未配達メールの添付ファイルのダウンロードのブロック
ColdFusion サーバーに変更が加えられ、未配達の電子メールの添付ファイルがダウンロードされないようになりました。未配達メールの添付ファイルのダウンロードを許可または禁止するには、ColdFusion Administrator で次の操作を行います。
- ColdFusion Administrator にログインします。
- サーバーの設定/メールをクリックします。
- 「メールスプールの設定」に移動し、「未配達メールの添付ファイルのダウンロードを許可します。」をオンまたはオフにします。
「メールロギングの設定」領域
次の表の説明に従って、電子メールログ処理の基本設定を指定します。
オプション
|
説明
|
[エラーログの厳格度]
|
ドロップダウンリストオブジェクトから、ログファイルに書き込む SMTP 関連エラーメッセージのタイプを選択します。これには次のオプションがあります。
|
[ColdFusion から送信されるメールメッセージをすべてロギング]
|
すべての電子メールメッセージの「宛先」、「差出人」、「件名」フィールドをログファイルに保存します。
|
ColdFusion は、送信済みメールおよびメールエラーログを次のディレクトリに書き込みます。
¥coldfusion9¥logs (Windows、サーバー設定)
/opt/coldfusion9/log (Solaris および Linux、サーバー設定)
cf_webapp_root/WEB-INF/cfusion/logs(マルチサーバーおよび J2EE 設定、すべてのプラットフォーム)
次の表は、電子メールログファイルを示します。
Log
|
説明
|
mailsent.log
|
送信済み電子メールメッセージを記録します。
|
mail.log
|
一般的な電子メールエラーを記録します。
|
[メール文字セット設定] 領域
次の表の説明に従って、メール文字セットのデフォルトの設定を選択します。
オプション
|
説明
|
[デフォルト CFMail 文字設定]
|
ドロップダウンリストオブジェクトから、cfmail タグで使用されるデフォルトの文字セットを選択します。デフォルト値は UTF-8 です。電子メールクライアントのほとんどが特定の文字セットを使用する場合は、この設定を使用して、ロケール特有の文字セットに切り替えることができます。例えば、日本語のメールの多くは ISO-2022-JP 文字セットを使用して送信されます。
|
スケジュールされたタスク
ColdFusion Administrator のスケジューリング機能では、ローカルおよびリモートの Web ページの実行、スタティック HTML ページの生成、cfmail タグによるメール送信、データベーステーブルの更新、コレクションのインデックス作成、テンポラリファイルの削除、その他、バッチ形式のすべての処理をスケジュールできます。スケジューリング機能は、ユーザーとの対話を必要としないアプリケーション、またはカスタマイズされた出力に役立ちます。ColdFusion 開発者は、この機能を使用して、毎日の売上レポート、社内ディレクトリ、統計レポートなどの作成をスケジューリングできます。
タスクのスケジューリングは、書き込みよりも読み取りの頻度が高い情報に適しています。ページがリクエストされるたびに ColdFusion がデータベースに対するクエリーを実行するのではなく、スケジューリングされたイベントによって生成される情報を含んだスタティックページを表示します。データベーストランザクションが発生しないので、レスポンス時間が短縮されます。
スケジュールされたタスクは、指定した日に 1 回のみ実行、毎日、毎週または毎月の指定時間に実行、指定した時間ごとに実行、また、指定した日付の間の期間に実行できます。
スケジュールされたページが実行されると、schedule.log というログファイルにメッセージが自動的に書き込まれます。このファイルには、スケジュールされたアクション、実行されるページ、スケジュールされたタスクが正常に実行されたかどうかが示されます。スケジュールされたタスクは一時停止および再開できます。
スケジュールされたタスクページ
スケジュールされたタスクページでは、スケジュールされたタスクの作成、編集、一時停止、再開および削除が可能です。このページには、次の領域があります。
領域
|
説明
|
新規タスクのスケジューリング
|
クリックすると、スケジュールされたタスクを新しく追加できます。
|
アクション
|
このアイコンをクリックすると、スケジュールされたタスクを実行、一時停止、編集または削除できます。
|
タスク名
|
実行するようにスケジュールされている既存のタスクの名前が表示されます。
|
期間
|
タスクを実行する期間が表示されます。
|
間隔
|
このタスクが実行される頻度が表示されます。 この列には、「1 回」、「毎日」または「指定間隔」のいずれかの値を指定できます。
|
アプリケーションレベルでスケジュールされたタスク:スケジュールしたアプリケーション固有のタスクのリストが、タスクの詳細とともにテーブル形式で表示されます。
このテーブルには、アクション、アプリケーション名、グループ、タスク名、期間、間隔、最後の実行、次の実行、反復カウント、およびクラスターが有効どうかが表示されます。
注意:ColdFusion Administrator を使用して、アプリケーション固有のタスクを作成することはできません。しかし、タスクの一時停止、再開または削除は行えます。
サーバーレベルでスケジュールされたタスク:スケジュールしたサーバー固有のタスクのリストが、タスクの詳細とともにテーブル形式で表示されます。
このテーブルには、グループ、次の実行、反復カウント、クラスターが有効どうか、および残りのタスクカウントなどの新しい詳細が表示されます。
クラスター設定を有効にする:少なくとも 1 つのデータソースが設定されている場合に適用されます。次の詳細を指定します。
データソースを選択:接続しているすべてのデータソースがリストされます。
クラスター設定用のテーブルを作成:チェックを付けると、スケジューラー固有のテーブルがクラスターに対して作成されます。
注意:このオプションは、クラスターの 1 つのノードに対してのみ有効にしてください。そうしないと、テーブルが上書きされます。1 つのノードからテーブルを作成した場合、他のノードでは、データソースの選択のみを行う必要があります。すべてのノードが同じデータソースを指すので、クラスターの一部になります。
詳細を指定した後、「送信」をクリックします。
クラスターを無効にするには、「クラスターを無効にする」オプションを選択します。
スケジュールされたタスクの追加 / 編集ページ
スケジュールされたタスクの追加/編集ページでは、タスクを追加または編集できます。次のタスクを指定した後、「送信」をクリックします。ページを最初に読み込むと、タスクを作成するための最小限のオプションのみが表示されます。すべての設定を表示するには、「追加設定を表示」をクリックします。
オプション
|
説明
|
タスク名
|
「タスク名」テキストボックスにタスクの名前を入力します。
|
期間
|
タスクの開始日と終了日を入力します。終了日はオプションです。このタスクを継続的に実行する場合は、「終了日」テキストボックスを空白のままにしておきます。
|
頻度
|
このタスクを実行するスケジュールを選択します。 1 回のみ 指定された開始日およびスケジュール時刻にタスクを 1 回のみ実行するようにスケジュールします。日付と時刻を指定します。タスクを正常に実行するためには、15 分以上先にタスクを設定する必要があります。
繰り返し 毎日、毎週または毎月の指定された時間にタスクを実行するようにスケジュールします。
指定間隔 1 日の間にタスクが反復されるようにスケジュールします。開始時刻と終了時刻を指定して、タスクの開始時刻と終了時刻を指定します。時間、分、秒を指定して、タスクが反復される間隔を設定します。
|
URL
|
実行する ColdFusion ページの URL を入力します。正しいアクセス権があれば、ローカルページまたはリモート ColdFusion サーバーのページを実行できます。
|
ユーザー名
|
(オプション)実行するページがセキュリティ保護された場所にある場合にのみ、ユーザー名を指定します。
|
パスワード
|
(オプション)実行するページがセキュリティ保護された場所にある場合にのみ、パスワードを指定します。
|
タイムアウト
|
(オプション)タイムアウト設定を指定します。 これは、Web サーバーの過負荷状態、ネットワークの問題、またはページの実行に時間がかかりすぎることが原因でリクエストが応答しなくなることを防ぐのに役立ちます。
|
プロキシサーバー:ポート
|
(オプション)このリクエストをプロキシサーバー経由でルーティングする必要がある場合は、そのプロキシサーバーの URL およびポート番号を入力します。
|
ファイルのパブリッシュ
|
(オプション)このタスクの出力ファイルをパブリッシュするには、「出力をファイルに保存」オプションを選択してから、出力ファイルの絶対パスおよびファイル名を「ファイル」テキストボックスに入力します。
|
URL の変換
|
(オプション)「URL の変換」オプションを選択して、結果ページに返されたリンクで使用されている相対 URL を絶対 URL に置換します。
|
グループ
|
スケジュールされたタスクが属するグループです。タスク名とグループの組み合わせが一意であることを確認してください。
|
Crontime
|
cron ジョブシンタックスでタスクスケジューリング時刻を指定します。
|
上書き
|
選択しないと、タスクが実行されるたびに新しい出力ファイルが作成されます。
選択すると、新規出力ファイルを作成する代わりに、既存の出力ファイルが上書きされます。
スケジュールされたタスクのファイルのパブリッシュでは、TXT および .log の拡張子のみがデフォルトで付くようになったことに注意してください。cfusion¥lib¥neo-cron xml に拡張子を追加できます。
|
イベントハンドラー
|
タスクの実行中に各種イベントで呼び出される定義済みのメソッドが含まれる CFC ファイルです。
Web ルートに対する相対パスを指定する必要があります。例えば、schedulerdemo.eventhandler と指定します。
|
除外
|
スケジュール期間内で除外する日付または日付範囲のカンマ区切りリストです。
|
誤実行時
|
スケジュールされたタスクが誤実行された場合にサーバーがどうするかを指定します。
|
例外時
|
タスクでエラーが発生した場合にどうするかを指定します。
|
完了時
|
現在のタスクの完了後に実行するアクションです。次のフォーマットで詳細を指定します。
Task1:Group1,Task3:Group3
|
優先度
|
タスクの優先度を示す整数です。
|
再試行回数
|
タスクでエラーが発生した場合の再試行回数です。
|
クラスタ
|
クラスタ設定でタスクを実行するには、有効にします。
|
ColdFusion 10 では、WebSocket プロトコル用のメッセージングレイヤーを提供することで WebSocket を実装しました。これは、CFML と JavaScript を使用して制御できます。メッセージングレイヤーは、WebSocket を信頼性と拡張性のあるものにする機能を備えています。WebSocket を使用すると、株式、チャート作成、オンラインゲーム、ソーシャルネットワーク、様々な目的のダッシュボード、監視などを目的とするリアルタイムアプリケーションを開発できます。
ご存じのように、WebSocket 接続では標準的な HTTP ポート(80 と 443)を使用してデータパケットを送受信します。そのため、WebSocket はファイアウォールに邪魔されません。ほぼすべてのファイアウォール設定で、これらの HTTP ポートでのネットトラフィックが許可されるからです。したがって、HTML5 WebSocket を利用するために、新しいハードウェアをインストールしたり、内部ネットワークで新しいポートを開いたりする必要はありません。
ブラウザーと ColdFusion サーバーの間にプロキシサーバー、リバースプロキシサーバー、ファイアウォールがない場合は、サーバーとクライアントが両方とも WebSocket プロトコルに対応している限り、WebSocket 接続は問題なく機能します。ただし、サーバーとクライアントの間には直接的な接続がないのが普通です。ColdFusion Splendor では、WebSocket 用のプロキシがサポートされました。ColdFusion WebSocket のリクエストをインターセプトして ColdFusion サーバーにリダイレクトできる(IIS および Apache Web Server 内で実行される)新しいプロキシモジュールがあります。
新機能(Splendor Beta)
ColdFusion Splendor は、次の新機能をサポートしています。
- プロキシのサポート - ColdFusion WebSocket を使用するためのプロキシサーバーの設定に対応しました。
- SSL のサポート – ColdFusion WebSocket 用に SSL を有効化できるようになりました。
- クラスターのサポート – ColdFusion WebSocket 用にクラスターのサポートを有効化できるようになりました。
ColdFusion WebSocket の使用
WebSocket のサポートは、前のバージョンの ColdFusion で導入されました。ColdFusion Splendor では、新たに WebSocket プロキシがサポートされました。
WebSocket プロキシについては、次の使用場面を考慮してください。
- 場面 1:ファイアウォールを設定していない – WebSocket プロキシを使用できます。
- 場面 2:ファイアウォールを設定している – WebSocket プロキシを使用する必要があります。
場面1 - ビルトイン WebSocket サーバーの使用(ColdFusion 10)
詳しくは、https://learn.adobe.com/wiki/display/coldfusionen/Using+ColdFusion+WebSocket を参照してください。
場面 2 - WebSocket 用のプロキシサーバーの使用(ColdFusion Splendor)
ColdFusion Splendor Beta の新機能
ColdFusion Splendor では、WebSocket 用のプロキシがサポートされました。ColdFusion WebSocket のリクエストをインターセプトして ColdFusion サーバーにリダイレクトできる(IIS および Apache Web Server 内で実行される)新しいプロキシモジュールがあります。
ColdFusion サーバーとともに使用できる外部サーバーを以下に示します。
- Windows 8 または Windows Server 2012 で実行されている IIS 8 以上
- Apache 2.2 以上
ColdFusion 用に WebSocket プロキシサーバーを簡単に設定するには、次の手順に従ってください。
手順 1 - 外部サーバーの設定
WebSocket プロキシの設定を開始する前に、WebSocket プロトコルをサポートする外部サーバーを設定する必要があります。
IIS の設定
IIS での WebSocket プロトコルの有効化については、このドキュメントを参照してください。
Apache サーバーの設定
設定は必要ありません。
手順 2 - WebSocket プロキシの有効化
ColdFusion Administrator を使用して、WebSocket プロキシポートをサーバーレベルで有効化する必要があります。次の手順に従ってください。
- ColdFusion Administrator ページにアクセスします。
- サーバーの設定/Web ソケットをクリックします。
- 「WebSocket サーバーを有効化」をクリックして、「WebSocket プロキシポートを使用」を選択します。
手順 3 - 外部サーバーの追加
wsconfig ツールを使用して、外部 Web サーバーコネクターと ColdFusion サーバーを設定する必要があります。
次のタスクを実行します。
- <CF_INSTALL_HOME>/cfusion/runtime/bin に移動します。
- wsconfig ツールを実行します。
- GUI で「追加」をクリックします。
- Web サーバードロップダウンフィールドで、外部サーバーを選択します。
- 「設定ディレクトリ」フィールドで、外部サーバーの設定ディレクトリのパスを参照して選択します。
- 「OK」をクリックします。
- 外部サーバーが実行されていない場合は、サーバーを起動するよう求めるメッセージが表示されます。
- 「はい」をクリックして外部サーバーを起動します。
- 「終了」をクリックします。
手順 4 - WebSocket プロキシサーバーの設定
ColdFusion Splendor には、wsproxyconfig という新しい設定ツールが導入されており、WebSocket プロキシを簡単に設定できます。次のタスクを実行します。
- <CF_INSTALL_HOME>/cfusion/bin に移動します。
- wsproxyconfig ツールを実行します。
- GUI で「追加」をクリックします。
- Web サーバードロップダウンフィールドで、外部サーバーを選択します。
- 「設定ディレクトリ」フィールドで、外部サーバーの設定ディレクトリのパスを参照して選択します。
- 「OK」をクリックします。
- 外部サーバーが実行されていない場合は、サーバーを起動するよう求めるメッセージが表示されます。
- プロキシ設定を確認します。
- 「閉じる」をクリックします。
設定 5 - プロキシ設定の検証
WebSocket プロキシを適切に設定したら、<CF_INSTALL_HOME>/config/wsproxy/1 に必要なプロキシファイルが作成されているかどうかを確認します。
<CF_INSTALL_HOME>/config/wsproxy/1 にある config.ini ファイルを手動で変更することもできます。
また、新しいアプリケーションである cfws も、外部サーバーのアプリケーションルートで利用できます。
<cfwebsocket> タグは新しい属性をサポートしています。
-
secure – (オプション)セキュアポート(SSL)が(Web サービスの通信の目的で)WebSocket サーバー用に設定されている場合にのみ、すべての WebSocket 通信は自動的にセキュアチャネルを介して行われます。ただし、両方のポート(SSL と 非 SSL)が定義されているときに、セキュリティで保護された TCP ソケットを介して通信を設定する必要がある場合は、secure を true に設定する必要があります。デフォルトは false です。
ColdFusion Splendor には、機能強化により、ノードのクラスターをまたぐメッセージのリアルタイムブロードキャストや、セキュア WebSocket 通信(WSS プロトコル)のための SSL のサポートなど、エンタープライズレベルの機能が追加されています。
クラスターのサポート
アプリケーションが様々なノード間で実行されており、メッセージを単一のノードにパブリッシュしているときに、同じメッセージをすべてのノード間でブロードキャストしたい場合に、この機能を使用できます。
例えば、Node1 に、「ストック」チャネルをサブスクライブしている 2 つのクライアント(C1 と C2)があるとします。同様に、Node2 の 2 つのクライアント(C4、C6)と Node3 の 2 つのクライアント(C8、C10)も「ストック」チャネルをサブスクライブしているとします。クライアント C1 がこの「ストック」チャネルでメッセージをパブリッシュするときに、単に C1 と C2 だけにメッセージを送信するのではなく、他のノード(C4、C6、C8、C10)のクライアントもこのメッセージを受信する必要があります。
この機能を使用する際に、クラスターを有効化することで、クラスターの様々なノード間でチャネルの全サブスクライバーにメッセージをパブリッシュできます。この機能を有効化するには、クラスターオプションを選択し、ノードを上位および下位に移動するイベントをブロードキャストするマルチキャストポートを定義します。
JavaScript 関数
次の JavaScript 関数が機能強化され、クラスター機能が自動的にサポートされるようになりました。
関数 |
引数 |
戻り型 |
publish |
("channelname", messageBody, {filterOptions} |
boolean |
getSubscriberCount |
("channelname") |
boolean |
invokeAndPublish |
("channelName", cfcName, cfcMethod, [function_parameter] ,{custom_options}) |
boolean |
publish ColdFusion 10 では、この関数は、フィルター条件に基づいた特定のチャネルにメッセージを送信できました。ColdFusion 11 では、この関数が機能強化され、デフォルトでクラスター内のすべてのノードにメッセージが送信されるようになりました。
Publish("channelname ", messageBody, {filterOptions});
getSubscriberCount ColdFusion 10 では、この関数は、フィルター条件に基づいた特定のチャネルからサブスクライバー数を取得できました。ColdFusion 11 では、この関数が機能強化され、デフォルトですべてのノードからサブスクライバー数が取得されるようになりました。
getSubscriberCount("channelname")
invokeAndPublish メッセージのパブリッシュと CFC の呼び出しを別々のスレッドで実行するには、この関数を使用します。
invokeandPublish("channelname ", cfcName, cfcMethod, [function_parameter] ,{custom_options})
ビルトイン ColdFusion 関数
クラスターのサポートをさらに強化するために、ColdFusion 11 では次のビルトイン関数の機能が強化されています。
WSPublish クライアントからの入力なしに、サーバーからのメッセージのパブリッシュをトリガーします。複数のノードに接続されている全サブスクライバーにメッセージをブロードキャストしやすいように、「clustered」という新しいパラメーターが追加されました。
wsPublish("channel name", messageBody [clustered])
または
wsPublish("channel name", messageBody , {filterOptions},[cluster])
<cfset wsPublish("publishdemochannel","Welcome to publishdemo")/>
「clustered」パラメーターが定義されていない場合、デフォルト値はクラスターの <Enable/Disable> の設定に基づいて取得されます。
WSGetSubscribers 設定済みのすべてのノードからサブスクライバー情報を取得します。設定済みのすべてのノードからサブスクライバー情報を取得できるように、「clustered」という新しいパラメーターが追加されました。
WSGetSubscribers("channel")
または
WSGetSubscribers ("channlName" ,[clustered]);
<cfset wsgetSubscribers("stocks", true)>
「clustered」パラメーターが定義されていない場合、デフォルト値はクラスターの <Enable/Disable> の設定に基づいて取得されます。
WSGetAllChannels 設定済みのすべてのノードからサブチャネル情報を取得します。設定済みのすべてのノードからサブチャネル情報を取得できるように、「clustered」という新しいパラメーターが追加されました。
WSGetAllChannels ("channel", clustered)
<cfset wsgetAllChannels("stocks" true,)>
「clustered」パラメーターが定義されていない場合、デフォルト値はクラスターの <Enable/Disable> の設定に基づいて取得されます。
セキュア WebSocket 通信(SSL を介した WebSocket)
ColdFusion では、WebSocket 画面(Administrator Console/ColdFusion Administrator/サーバーの設定/WebSocket)の機能が強化され、次のオプションが追加されました。
- SSL の有効化
- SSL ポート
- キーストアファイルの場所
-
キーストアのパスワード
オプション |
説明 |
SSL の有効化 |
SSL を介して WebSocket を実行するために、Secure Sockets Layer(SSL)を有効化します。 |
キーストアファイルの場所 |
サーバーのファイルシステムにおけるキーストアの場所です。例えば、C:\OpenSSL\bin\keystore.jks です。 |
キーストアのパスワード |
キーストアのパスワードです。 |
SSL ポート |
デフォルトのポートは 8543 です。 |
Administrator ノードから WebSocket クラスターを有効化するには、サーバーの設定/Web ソケットを選択します。Web ソケット画面で、「Web ソケットクラスターを有効にする」チェックボックスをオンにし、マルチキャストポートの詳細を入力します。マルチキャストポートフィールドに、デフォルトのマルチキャストポートである 45566 が表示されます。必要に応じてポートの詳細を変更します。クラスター内のすべてのノードでマルチキャストポート値が同じであることを確認してください。
チャートページ
ColdFusion のチャートおよびグラフ作成サーバーでは、cfquery タグを使用して、高度にカスタマイズ可能なビジネスグラフィックを様々な形式で作成できます。Administrator のチャートページを使用すると、サーバーの特性を制御することができます。
次の表では、ColdFusion のチャートおよびグラフ作成サーバーのためのキャッシュとスレッドの設定について説明しています。
オプション
|
説明
|
[キャッシュタイプ]
|
キャッシュタイプを設定します。チャートをメモリまたはディスクにキャッシュできます。メモリキャッシュはより高速ですが、メモリを多く使用します。
|
キャッシュされるイメージの最大数
|
キャッシュに保管するチャートの最大数を指定します。キャッシュが一杯になってから新規チャートを生成すると、ColdFusion によりキャッシュ内の一番古いチャートが破棄されます。
|
チャートを処理するスレッドの最大数
|
同時処理が可能なチャートリクエストの最大数を指定します。最小値は 1 で、最大値は 5 です(大きい数値を指定するほど、多くのメモリが必要となります)。
|
ディスクキャッシュの位置
|
ディスクにキャッシュする場合は、生成されたチャートを保管するディレクトリを指定します。
|
Java と JVM ページ
注意:このページは、ColdFusion を J2EE サーバーにデプロイする場合には当てはまりません。
Java と JVM ページでは、ColdFusion と Java を連動させるために次の設定を行えます。
オプション
|
説明
|
[Java 仮想マシンのパス]
|
Java 仮想マシン(JVM)ルートディレクトリの場所を絶対ファイルパスで指定します。デフォルト値は "<ColdFusion のルートディレクトリ>/runtime/jre" です。
|
[最小 JVM ヒープサイズ]
|
JVM の初期ヒープサイズです。
|
[最大 JVM ヒープサイズ]
|
JVM の最大ヒープサイズです。デフォルト値は 512 MB です。
|
ColdFusion クラスパス
|
ColdFusion で使用する JAR ファイルが含まれるディレクトリのファイルパスを指定します。必要な JAR ファイルが含まれるディレクトリの完全修飾名か、完全修飾 JAR ファイル名を指定します。複数のエントリを区切るにはカンマを使用します。
|
[JVM 引数]
|
JVM への引数。複数のエントリは、空白で区切ります(例:-Xint -Xincgc)。
|
注意:変更後に ColdFusion を再起動する必要があります。
Java と JVM の設定ページを更新すると、cf_root¥runtime¥bin にある jvm.config に変更が書き込まれます。変更内容が保存される前に、現在の jvm.config ファイルのコピーが jvm.bak として保存されます。変更によって ColdFusion を再起動できなくなった場合は、jvm.bak を使用してシステムを復元してください。例えば、jvm.config を jvm.config_BAD という名前に変更してから、jvm.bak を jvm.config という名前に変更します。
ColdFusion では、次のような jvm.args 属性のデフォルト設定が jvm.config ファイルからフィルターで除外されます。
aArgs[i] contains '-Xmx'
aArgs[i] contains '-Xms'
aArgs[i] contains "-Djava.security.manager"
aArgs[i] contains "-Djava.security.policy"
aArgs[i] contains "-Djava.security.auth.policy"
aArgs[i] contains '-Djava.awt.graphicsenv'
aArgs[i] contains '-Djava.awt.headless'
aArgs[i] contains '-Dcoldfusion.classPath'
aArgs[i] contains '-Dcoldfusion.rootDir'
aArgs[i] contains '-Dcoldfusion.libPath'
aArgs[i] contains '{application.home}/lib/webchartsJava2D.jar'
Oracle 10g の ColdFusion の J2EE デプロイメントでサーバーモニターまたはマルチサーバーモニターを使用するには、JVM 引数を -Doc4j.jmx.security.proxy.off=true に設定します。