クラス AbstractFileItemWriter<T>
java.lang.ObjectSE
org.springframework.batch.item.ItemStreamSupport
org.springframework.batch.item.support.AbstractItemStreamItemWriter<T>
org.springframework.batch.item.support.AbstractFileItemWriter<T>
- 実装されたすべてのインターフェース:
ResourceAwareItemWriterItemStream<T>
、ItemStream
、ItemStreamWriter<T>
、ItemWriter<T>
、org.springframework.beans.factory.InitializingBean
- 既知の直属サブクラス
FlatFileItemWriter
,JsonFileItemWriter
public abstract class AbstractFileItemWriter<T>
extends AbstractItemStreamItemWriter<T>
implements ResourceAwareItemWriterItemStream<T>, org.springframework.beans.factory.InitializingBean
ファイルまたはストリームにデータを書き込むアイテムライターの基本クラス。このクラスは、再起動、強制同期、追加などの一般的な機能を提供します。出力ファイルの場所は、書き込み可能なファイルを表す必要がある
バッファーライターを使用してパフォーマンスを向上させます。
実装はスレッドセーフではありません。
WritableResource
によって定義されます。バッファーライターを使用してパフォーマンスを向上させます。
実装はスレッドセーフではありません。
- 導入:
- 4.1
- 作成者:
- Waseem Malik, Tomas Slanina, Robert Kasanicky, Dave Syer, Michael Minella, Mahmoud Ben Hassine, Glenn Renfro, Remi Kaeffer, Elimelec Burghelea
ネストされたクラスのサマリー
ネストされたクラスフィールドのサマリー
フィールド修飾子と型フィールド説明protected boolean
static final StringSE
static final StringSE
static final boolean
protected StringSE
protected static final org.apache.commons.logging.Log
protected boolean
protected AbstractFileItemWriter<T>.OutputState
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
close()
ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。protected abstract StringSE
アイテムの文字列に「改行」が続く文字列を書きます。改行区切りの形式は、基礎となるオペレーティングシステムによって決定されます。protected AbstractFileItemWriter<T>.OutputState
void
open
(ExecutionContext executionContext) リーダーを初期化します。void
setAppendAllowed
(boolean append) ターゲットファイルがすでに存在する場合に追加する必要があることを示すフラグ。void
setEncoding
(StringSE newEncoding) 出力テンプレートのエンコーディングを設定します。void
setFooterCallback
(FlatFileFooterCallback footerCallback) footerCallback は、最後の項目をファイルに書き込んだ後、ファイルが閉じられる前に呼び出されます。void
setForceSync
(boolean forceSync) フラッシュ時に変更を強制的にディスクに同期する必要があることを示すフラグ。void
setHeaderCallback
(FlatFileHeaderCallback headerCallback) 最初の項目をファイルに書き込む前に、headerCallback が呼び出されます。void
setLineSeparator
(StringSE lineSeparator) 行区切りのパブリック setter。void
setResource
(org.springframework.core.io.WritableResource resource) 書き込み可能なリソースの場合は Setter。void
setSaveState
(boolean saveState) 更新するItemStream
呼び出し中に、提供されたExecutionContext
に状態を保存するかどうかを示すフラグを設定します。void
setShouldDeleteIfEmpty
(boolean shouldDeleteIfEmpty) 終了時に行が書き込まれていない場合(ヘッダーとフッターを除く)、ターゲットファイルを削除することを示すフラグ。void
setShouldDeleteIfExists
(boolean shouldDeleteIfExists) ターゲットファイルがすでに存在する場合は削除する必要があることを示すフラグ。そうでない場合は作成されます。void
setTransactional
(boolean transactional) トランザクションがアクティブな場合、バッファへの書き込みを遅らせることを示すフラグ。void
update
(ExecutionContext executionContext) オープン中に提供された実行コンテキストが保存されようとしていることを示します。void
文字列とそれに続く「改行」を書き出します。改行区切りの形式は、基になるオペレーティングシステムによって決定されます。クラス org.springframework.batch.item.ItemStreamSupport から継承されたメソッド
getExecutionContextKey, getName, setExecutionContextName, setName
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.beans.factory.InitializingBean から継承されたメソッド
afterPropertiesSet
フィールドの詳細
DEFAULT_TRANSACTIONAL
public static final boolean DEFAULT_TRANSACTIONAL- 関連事項:
logger
protected static final org.apache.commons.logging.Log loggerDEFAULT_LINE_SEPARATOR
DEFAULT_CHARSET
state
shouldDeleteIfExists
protected boolean shouldDeleteIfExistslineSeparator
append
protected boolean append
コンストラクターの詳細
AbstractFileItemWriter
public AbstractFileItemWriter()
メソッドの詳細
setForceSync
public void setForceSync(boolean forceSync) フラッシュ時に変更を強制的にディスクに同期する必要があることを示すフラグ。デフォルトは false です。これは、書き込みとキャッシュフラッシュの間に OS がクラッシュすると、ローカルディスクの変更が失われる可能性があることを意味します。true に設定すると、多くの頻繁な書き込みを伴う使用パターンのパフォーマンスが低下する場合があります。- パラメーター:
forceSync
- 設定するフラグ値
setLineSeparator
行区切りのパブリック setter。システムプロパティ line.separator がデフォルトです。- パラメーター:
lineSeparator
- 設定する行区切り
setResource
public void setResource(org.springframework.core.io.WritableResource resource) 書き込み可能なリソースの場合は Setter。書き込み可能なファイルを表します。- 次で指定:
- インターフェース
ResourceAwareItemWriterItemStream<T>
のsetResource
- パラメーター:
resource
- 書き込まれるリソース
setEncoding
出力テンプレートのエンコーディングを設定します。- パラメーター:
newEncoding
- ライターに使用されるエンコーディングを含むString
SE。
setShouldDeleteIfExists
public void setShouldDeleteIfExists(boolean shouldDeleteIfExists) ターゲットファイルがすでに存在する場合は削除する必要があることを示すフラグ。そうでない場合は作成されます。デフォルトは true であるため、再起動時以外は追加されません。false に設定され、appendAllowed
も false の場合、既存のデータが破損する可能性を防ぐためにストリームが開かれるときに例外が発生します。- パラメーター:
shouldDeleteIfExists
- 設定するフラグ値
setAppendAllowed
public void setAppendAllowed(boolean append) ターゲットファイルがすでに存在する場合に追加する必要があることを示すフラグ。このフラグが設定されている場合、フラグshouldDeleteIfExists
は自動的に false に設定されるため、そのフラグを明示的に設定しないでください。デフォルト値は false です。- パラメーター:
append
- 設定するフラグ値
setShouldDeleteIfEmpty
public void setShouldDeleteIfEmpty(boolean shouldDeleteIfEmpty) 終了時に行が書き込まれていない場合(ヘッダーとフッターを除く)、ターゲットファイルを削除することを示すフラグ。デフォルトは false です。- パラメーター:
shouldDeleteIfEmpty
- 設定するフラグ値
setSaveState
public void setSaveState(boolean saveState) 更新するItemStream
呼び出し中に、提供されたExecutionContext
に状態を保存するかどうかを示すフラグを設定します。これを false に設定すると、再起動時に常に最初から開始されます。- パラメーター:
saveState
- true の場合、状態は保持されます
setHeaderCallback
最初の項目をファイルに書き込む前に、headerCallback が呼び出されます。ヘッダーが書き込まれた後、改行が自動的に追加されます。- パラメーター:
headerCallback
- ヘッダーを生成するFlatFileHeaderCallback
setTransactional
public void setTransactional(boolean transactional) トランザクションがアクティブな場合、バッファへの書き込みを遅らせる必要があることを示すフラグ。デフォルトは true です。- パラメーター:
transactional
- バッファへの書き込みを遅延させる必要がある場合は true。
write
文字列とそれに続く「改行」を書き出します。改行区切りの形式は、基になるオペレーティングシステムによって決定されます。- 次で指定:
- インターフェース
ItemWriter<T>
のwrite
- パラメーター:
items
- 出力ストリームに書き込まれるアイテムのリスト- 例外:
ExceptionSE
- 出力ストリームへのアイテムの書き込み中にエラーが発生した場合
doWrite
アイテムの文字列に「改行」が続く文字列を書きます。改行区切りの形式は、基礎となるオペレーティングシステムによって決定されます。- パラメーター:
items
- 書かれる- 戻り値:
- 書かれた行
close
public void close()インターフェースからコピーされた説明:ItemStream
ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。このメソッドが呼び出されると、他のすべてのメソッド(open を除く)は例外をスローする場合があります。- 次で指定:
- インターフェース
ItemStream
のclose
- 関連事項:
open
リーダーを初期化します。このメソッドは、close が呼び出される前に複数回呼び出される場合があります。- 次で指定:
- インターフェース
ItemStream
のopen
- パラメーター:
executionContext
- 現在のステップのExecutionContext
。再起動時のステップの最後の実行からの executionContext になります。- 例外:
ItemStreamException
- 関連事項:
update
インターフェースからコピーされた説明:ItemStream
オープン中に提供された実行コンテキストが保存されようとしていることを示します。状態が残っているが、コンテキストに入れられていない場合は、ここに追加する必要があります。- 次で指定:
- インターフェース
ItemStream
のupdate
- パラメーター:
executionContext
- 更新される- 関連事項:
getOutputState