アラームは、指定された時間間隔で Java 2 Enterprise Edition (J2EE) コンテキスト認識コードを実行します。 アラーム・オブジェクトは、詳細で、非永続的で、一過性のものであり、ミリ秒単位の間隔で発行できます。
アラームは、関連する非同期有効範囲を持つ作業マネージャーに関連付けられているスレッド・プールを使用して実行されます。 アラームを作成するには、作業マネージャー・インスタンスを作成する必要があります。詳しくは、トピック作業マネージャーの構成を参照してください。
AlarmManager.createAlarm() メソッドは、AlarmListener インターフェースをインプリメントするアプリケーションによって 記述されるオブジェクトを使用します。 AlarmListener インターフェースについて詳しくは、Javadoc を参照してください。 アラームの有効期限が切れると、fired メソッドが呼び出されます。 createAlarm() メソッドは、シリアライズできないハンドル (アラームのキャンセルまたは リセットに使用できる) を戻します。 すべての保留アラームは、それに関連する AsynchScope オブジェクトが破棄されたときにキャンセルされます。
アラームのパフォーマンス
アラーム・サブシステムでは、数多くのアラームを扱うよう設計されています。 ただし、後続のアラームの処理が遅くなるため、アラームの発行中は、アラームによる負荷の重い処理は期待しないでください。 アラームで重い負荷を処理する必要がある場合は、作業マネージャーによって活動化される作業オブジェクトを 設計してください。 この手順によって、重い処理が別のスレッドに移動し、アラーム・スレッドが妨害されることなくアラームを処理できるようになります。 単一の作業マネージャーが所有する非同期有効範囲が所有しているすべてのアラームは、1 つの共通のスレッド・プールを共用します。 このスレッド・プールのプロパティーは、管理コンソールを使用して、作業マネージャー・レベルで調整することが できます。