モジュール jdk.management.resource
パッケージ jdk.management.resource

クラスNotifyingMeter

  • すべての実装されたインタフェース:
    ResourceMeter, ResourceRequest
    直系の既知のサブクラス:
    BoundedMeter, ThrottledMeter


    public class NotifyingMeter
    extends SimpleMeter
    NotifyingMeterは、オプションの親からの変更および割当てに対して承認者のコールバックを提供します。 粒度が適用されるのは承認のコールバックに対してのみであり、割り当てられるまたは解放される量はリクエストされた量と同じになります。 粒度はいつでも設定できます。 承認のコールバックは、割当てまたは解放の粒度のしきい値を超過した場合に発生します。 コールバックはリクエストされた量を返すか、ゼロ(0)を返してリクエストの拒否を示すことができます。 ほとんどのアプリケーションは、I/O操作のサイズやリソースの可用性が変更されると、柔軟に対応できません。
    導入されたバージョン:
    8u40
    • コンストラクタの詳細

      • NotifyingMeter

        protected NotifyingMeter​(ResourceType type,
                                 ResourceRequest parent,
                                 ResourceApprover approver)
        サブクラスのコンストラクタです。 粒度は1に初期化されます。
        パラメータ:
        type - ResourceType
        parent - リクエスト元のResourceRequest (nullも可)
        approver - 通知対象のResourceApprover (nullも可)
    • メソッドの詳細

      • create

        public static NotifyingMeter create​(ResourceType type,
                                            ResourceApprover approver)
        タイプおよび承認者を持つ新しいNotifyingMeterを返します。 粒度は1に初期化されます。
        パラメータ:
        type - ResourceType
        approver - 通知対象のResourceApprover (nullも可)
        戻り値:
        タイプおよび通知対象を持つNotifyingMeter
      • create

        public static NotifyingMeter create​(ResourceType type,
                                            ResourceRequest parent,
                                            ResourceApprover approver)
        タイプ、承認者および親承認者を持つ新しいNotifyingMeterを返します。 粒度は1に初期化されます。
        パラメータ:
        type - ResourceType
        approver - 通知対象のResourceApprover (nullも可)
        parent - リクエスト元のResourceRequest (nullも可)
        戻り値:
        タイプ、通知対象および親承認者を持つ新しいNotifyingMeter
      • validate

        protected long validate​(long previous,
                                long amount,
                                ResourceId id)
        承認者によって検証された量を返します。 ResourceApprover.requestは、リクエストされた量またはゼロ(0)のみを返すか、ResourceRequestDeniedExceptionをスローする必要があります。 返される量がそれ以外の値の場合、その値は無視され、リクエストされた量が返されます。
        オーバーライド:
        validate 、クラス:  SimpleMeter
        パラメータ:
        previous - 以前のメーター値
        amount - 検証する量(ゼロの場合は何も実行されません)
        id - リソース・インスタンスのResourceId(nullも可)
        戻り値:
        検証された値(ゼロ、正または負の値)
      • getGranularity

        public final long getGranularity​()
        粒度を返します。
        戻り値:
        粒度
      • setGranularity

        public final long setGranularity​(long granularity)
        粒度を設定します。
        パラメータ:
        granularity - 粒度を設定します。粒度はゼロ(0)よりも大きい値にする必要があります
        戻り値:
        以前の粒度値
        例外:
        IllegalArgumentException - 粒度がゼロ(0)以下の場合
      • getApprover

        public final ResourceApprover getApprover​()
        ResourceApproverを返します。
        戻り値:
        承認者