public class StorageObjectInputStream extends FilterInputStream
StorageObject
の内容を表す入力ストリームです。
InputStream
クラスによって提供されるメソッドに加えて、
StorageObjectInputStream
はIIJGIOオブジェクトへの
HTTPコネクションを終了させるabort()メソッドを提供します。in
Constructor and Description |
---|
StorageObjectInputStream(InputStream in,
org.apache.http.client.methods.HttpUriRequest httpRequest) |
Modifier and Type | Method and Description |
---|---|
void |
abort()
これ以上データを読み出すことなく潜在的なHTTPリクエストを中断し、
ストリームを閉じます。
|
org.apache.http.client.methods.HttpUriRequest |
getHttpRequest()
この入力ストリームが得られるHTTPリクエストを返します。
|
available, close, mark, markSupported, read, read, read, reset, skip
public StorageObjectInputStream(InputStream in, org.apache.http.client.methods.HttpUriRequest httpRequest)
public void abort() throws IOException
デフォルトでは、ApacheのHttpClient
は
InputStream.close()
の際にアタッチされた入力ストリームの終端まで
読み取ることでHTTPコネクションを再利用しようとします。これは
ソケットプール管理の観点からは効率のよい方法ですが、
大きなペイロードを持つオブジェクトにとってはバイトデータが
IIJ GIOストレージ&アナリシスサービスから読み出される時と廃棄される時に
著しいオーバーヘッドを負うことになります。IIJ GIOストレージ&アナリシスサービス
から不必要な情報を読み出さないようにするために
HTTPコネクションを再利用しないことに起因するパフォーマンスヒットを
いつ受け入れるかを決めるのはクライアント次第です。
IOException
- リクエストの中断に失敗した場合EofSensorInputStream
public org.apache.http.client.methods.HttpUriRequest getHttpRequest()
Copyright © 2018. All rights reserved.