-
- 既知のすべての実装クラス:
BoundedMeter
,NotifyingMeter
,SimpleMeter
,ThrottledMeter
public interface ResourceRequest
ResourceRequestは、リソースの割当てや解放を行うためのインタフェースです。- 導入されたバージョン:
- 8u40
- 関連項目:
ResourceMeter
、ResourceContext
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 long
request(long amount, ResourceId id)
amount
単位のリソースをリクエストまたは解放します。
-
-
-
メソッドの詳細
-
request
long request(long amount, ResourceId id)
amount
単位のリソースをリクエストまたは解放します。 引数の絶対値はリソース単位数です。 リソースをリクエストする場合は正、解放する場合は負の値です。 ゼロ(0)は操作なしです。戻り値は割当てまたは解放された単位数です。
ゼロ(0)の場合、現時点でリソースは割り当てられていません。
量が正の値で、戻り値がリクエストされた量よりも少ない場合は、それが使用可能量(割当て量)になります。 戻り値がリクエストされた量よりも大きい場合はその量が割り当てられますが、呼出し元はその量を使い切るか超過分が解放されるまで、それ以上リクエストできません。 割当て量をすべて使い切らない場合、
request( - (amount_to_free) )
を使用して残量を解放する必要があります。量が負の値の場合、リソースは解放されます。
- パラメータ:
amount
- リソースの単位数。リクエスト(amount > 0
)、解放(amount < 0
)。id
- リソース・インスタンスのResourceId- 戻り値:
- 割当てまたは解放されたリソースの単位数
- 例外:
IllegalStateException
- ResourceRequestが有効な状態にない場合ResourceRequestDeniedException
- リクエストが拒否される場合
-
-