- java.lang.Object
- 
- jdk.internal.event.Event
- 
- jdk.jfr.Event
 
 
- 
 public abstract class Event extends jdk.internal.event.Eventイベントのベース・クラスで、イベントとそのフィールドを定義するためにサブクラス化されます。次の例は、 Eventクラスの実装方法を示しています。import jdk.jfr.Event; import jdk.jfr.Description; import jdk.jfr.Label; public class Example { @Label("Hello World") @Description("Helps programmer getting started") static class HelloWorld extends Event { @Label("Message") String message; } public static void main(String... args) { HelloWorld event = new HelloWorld(); event.message = "hello, world!"; event.commit(); } }イベントが割り当てられ、そのフィールド・メンバーが移入された後は、 #commit()メソッドを使用してFlight Recorderシステムに書き込むことができます。デフォルトでは、イベントは有効です。 イベントを無効にするには、 Eventクラスに@Enabled(false)と注釈を付けます。サポートされるフィールド・タイプはJavaプリミティブです: boolean、char、byte、short、int、long、floatおよびdouble。 サポートされている参照タイプは次のとおりです。:String、ThreadおよびClass。 配列、列挙およびその他の参照型は暗黙的に無視され、含まれません。 サポートされている型のフィールドは、transient修飾子を使用することで除外できます。 静的フィールドは、サポートされている型であっても含まれません。注釈が(たとえば、 Label、DescriptionおよびTimespanなどです。)を使用すると、ツールによってデータがわかりやすい方法でビジュアル化されます。Eventクラスまたはそのフィールドに適用される注釈は、(間接的、直接または関連付けられている)が存在し、MetadataDefinitionアノテーションがあり、列挙、配列またはクラスが含まれていない場合に含まれます。イベントに格納するデータの収集にはコストがかかる場合があります。 shouldCommit()メソッドを使用すると、Event#commit()commitメソッドが呼び出されたときにイベント・インスタンスが実際にシステムに書き込まれるかどうかを検証できます。shouldCommit()がfalseを戻した場合は、これらの操作を回避できます。- 導入されたバージョン:
- 9
 
- 
- 
コンストラクタのサマリーコンストラクタ 修飾子 コンストラクタ 説明 protectedEvent()サブクラス・コンストラクタによる呼出しの場合は、通常は暗黙的コンストラクタです。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 voidbegin()このイベントのタイミングを開始します。voidcommit()フィールド値、タイムスタンプおよびイベント期間をFlight Recorderシステムに書き込みます。voidend()このイベントのタイミングを終了します。booleanisEnabled()少なくとも1つのレコーディングが実行されている場合はtrueを返し、このイベントの有効な設定をtrueに設定します。そうでない場合はfalseが返されます。voidset(int index, Object value)フィールド値を設定します。booleanshouldCommit()このイベントに対して有効な設定がtrueに設定され、イベントのしきい値内に期間がある場合はtrueを返し、層でない場合は、false。
 
- 
- 
- 
メソッドの詳細- 
beginpublic final void begin() このイベントのタイミングを開始します。- オーバーライド:
- クラスjdk.internal.event.Eventのbegin
 
 - 
endpublic final void end() このイベントのタイミングを終了します。endメソッドは、beginメソッドの後に呼び出す必要があります。- オーバーライド:
- クラスjdk.internal.event.Eventのend
 
 - 
commitpublic final void commit() フィールド値、タイムスタンプおよびイベント期間をFlight Recorderシステムに書き込みます。イベントが beginメソッドの呼出しで開始されたが、endメソッドの明示的な呼出しで終わらない場合は、commitメソッドが呼び出されるとイベントが終了します。- オーバーライド:
- クラスjdk.internal.event.Eventのcommit
 
 - 
isEnabledpublic final boolean isEnabled() 少なくとも1つのレコーディングが実行されている場合はtrueを返し、このイベントの有効な設定をtrueに設定します。そうでない場合はfalseが返されます。- オーバーライド:
- クラスjdk.internal.event.EventのisEnabled
- 戻り値:
- イベントが有効な場合はtrue、それ以外の場合はfalse
 
 - 
shouldCommitpublic final boolean shouldCommit() このイベントに対して有効な設定がtrueに設定され、イベントのしきい値内に期間がある場合はtrueを返し、層でない場合は、false。 しきい値は、すべての実行レコーディングの最小しきい値です。- オーバーライド:
- クラスjdk.internal.event.EventのshouldCommit
- 戻り値:
- イベントをFlight Recorderシステムに書き込める場合はtrue、そうでない場合はfalse
 
 - 
setpublic final void set(int index, Object value)フィールド値を設定します。イベントが EventFactoryクラスを使用して動的に定義される場合にのみ適用されます。指定された indexは、EventFactoryクラスのファクトリ・メソッドに渡されるValueDescriptorオブジェクトの索引に対応しています。- オーバーライド:
- クラスjdk.internal.event.Eventのset
- パラメータ:
- index-- EventFactory#create(String, java.util.List, java.util.List)に渡されるフィールドの索引
- value- 設定する値は- nullです
- 例外:
- UnsupportedOperationException- 動的に生成されたイベントでない場合
- IndexOutOfBoundsException-- indexが- 0以下、またはイベントに指定されたフィールド数以上であるかどうか
- 関連項目:
- EventType.getFields(),- EventFactory
 
 
- 
 
-