クラス StaxEventItemWriter<T>
java.lang.ObjectSE
org.springframework.batch.item.ItemStreamSupport
org.springframework.batch.item.support.AbstractItemStreamItemWriter<T>
org.springframework.batch.item.xml.StaxEventItemWriter<T>
- 実装されたすべてのインターフェース:
ResourceAwareItemWriterItemStream<T>
、ItemStream
、ItemStreamWriter<T>
、ItemWriter<T>
、org.springframework.beans.factory.InitializingBean
public class StaxEventItemWriter<T>
extends AbstractItemStreamItemWriter<T>
implements ResourceAwareItemWriterItemStream<T>, org.springframework.beans.factory.InitializingBean
オブジェクトを XML に直列化するために StAX と
Marshaller
を使用する ItemWriter
の実装。この項目ライターは、対応するインターフェースを実装することにより、再起動、統計、トランザクション機能も提供します。
実装はスレッドセーフではありません。
- 作成者:
- Peter Zozom, Robert Kasanicky, Michael Minella, Parikshit Dutta, Mahmoud Ben Hassine, Elimelec Burghelea
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
void
close()
出力ソースをフラッシュして閉じます。protected ResultSE
サブクラスはオーバーライドして、STAX の結果をカスタマイズできます。protected XMLEventFactorySE
サブクラスは、イベントファクトリをカスタマイズするためにオーバーライドできます。protected XMLEventWriterSE
createXmlEventWriter
(XMLOutputFactorySE outputFactory, WriterSE writer) サブクラスはオーバーライドしてライターをカスタマイズできます。protected XMLOutputFactorySE
サブクラスは、ファクトリをカスタマイズするためにオーバーライドできます。protected void
endDocument
(XMLEventWriterSE writer) EndDocument タグを手動で書き込みます。使用されているエンコーディングを取得します。ルート要素の属性を取得します。ルート要素のタグ名を取得します。ルート要素の名前空間を取得します。ルート要素の名前空間プレフィックスを取得します。スタンドアロンのドキュメント宣言を使用します。XML バージョンを取得します。protected void
initNamespaceContext
(XMLEventWriterSE writer) XMLEventWriter の名前空間コンテキストを初期化します: rootTagNamespacePrefix の場合は rootTagName、ルート要素属性内のその他の xmlns 名前空間プレフィックス宣言void
open
(ExecutionContext executionContext) 出力ソースを開くvoid
setEncoding
(StringSE encoding) 出力ファイルに使用されるエンコーディングを設定します。void
setFooterCallback
(StaxWriterCallback footerCallback) footerCallback は、すべての項目を書き込んだ後、ファイルを閉じる前に呼び出されます。void
setForceSync
(boolean forceSync) フラッシュ時に変更を強制的にディスクに同期する必要があることを示すフラグ。void
setHeaderCallback
(StaxWriterCallback headerCallback) headerCallback は、項目を書き込む前に呼び出されます。void
setMarshaller
(org.springframework.oxm.Marshaller marshaller) Object を XML マーシャラーに設定します。void
setOverwriteOutput
(boolean overwriteOutput) 出力ファイルに「上書き」フラグを設定します。void
setResource
(org.springframework.core.io.WritableResource resource) 出力ファイルを設定します。void
setRootElementAttributes
(MapSE<StringSE, StringSE> rootElementAttributes) 書き込まれるルート要素の属性を設定します。void
setRootTagName
(StringSE rootTagName) ルート要素のタグ名を設定します。void
setSaveState
(boolean saveState) void
setShouldDeleteIfEmpty
(boolean shouldDeleteIfEmpty) クローズ時に項目が書き込まれていない場合(ヘッダーとフッターを除く)、ターゲットファイルを削除することを示すフラグ。void
setStandalone
(BooleanSE standalone) 出力 XML に使用されるスタンドアロンのドキュメント宣言を設定します。void
setTransactional
(boolean transactional) 書き込みが存在する場合、トランザクションの最後まで延期する必要があることを示すフラグ。void
setVersion
(StringSE version) 出力 XML に使用する XML バージョンを設定します。protected void
startDocument
(XMLEventWriterSE writer) 以下を含む単純な XML ヘッダーを書き込みます。xml 宣言 - ルート要素とその属性のエンコーディングと XML バージョン開始タグを定義します。これで十分でない場合は、このメソッドをオーバーライドします。void
update
(ExecutionContext executionContext) 再起動データを取得します。void
値オブジェクトを書き込み、ファイルにフラッシュします。クラス org.springframework.batch.item.ItemStreamSupport から継承されたメソッド
getExecutionContextKey, getName, setExecutionContextName, setName
フィールドの詳細
コンストラクターの詳細
StaxEventItemWriter
public StaxEventItemWriter()
メソッドの詳細
setResource
public void setResource(org.springframework.core.io.WritableResource resource) 出力ファイルを設定します。- 次で指定:
- インターフェース
ResourceAwareItemWriterItemStream<T>
のsetResource
- パラメーター:
resource
- 出力ファイル
setMarshaller
public void setMarshaller(org.springframework.oxm.Marshaller marshaller) Object を XML マーシャラーに設定します。- パラメーター:
marshaller
- Object to XML マーシャラー
setHeaderCallback
headerCallback は、項目を書き込む前に呼び出されます。- パラメーター:
headerCallback
- 項目を書き込む前に呼び出されるStaxWriterCallback
setTransactional
public void setTransactional(boolean transactional) 書き込みが存在する場合、トランザクションの最後まで延期する必要があることを示すフラグ。デフォルトは true です。- パラメーター:
transactional
- 設定するフラグ
setForceSync
public void setForceSync(boolean forceSync) フラッシュ時に変更を強制的にディスクに同期する必要があることを示すフラグ。デフォルトは false です。これは、書き込みとキャッシュフラッシュの間に OS がクラッシュすると、ローカルディスクの変更が失われる可能性があることを意味します。true に設定すると、多くの頻繁な書き込みを伴う使用パターンのパフォーマンスが低下する場合があります。- パラメーター:
forceSync
- 設定するフラグ値
setShouldDeleteIfEmpty
public void setShouldDeleteIfEmpty(boolean shouldDeleteIfEmpty) クローズ時に項目が書き込まれていない場合(ヘッダーとフッターを除く)、ターゲットファイルを削除することを示すフラグ。デフォルトは false です。- パラメーター:
shouldDeleteIfEmpty
- 設定するフラグ値
getEncoding
使用されているエンコーディングを取得します。- 戻り値:
- 使用されるエンコーディング
setEncoding
出力ファイルに使用されるエンコーディングを設定します。- パラメーター:
encoding
- 使用されるエンコーディング
getVersion
XML バージョンを取得します。- 戻り値:
- 使用される XML バージョン
setVersion
出力 XML に使用する XML バージョンを設定します。- パラメーター:
version
- 使用される XML バージョン
getStandalone
スタンドアロンのドキュメント宣言を使用します。- 戻り値:
- 使用されるスタンドアロンドキュメント宣言
- 導入:
- 4.3
setStandalone
出力 XML に使用されるスタンドアロンのドキュメント宣言を設定します。設定されていない場合、スタンドアロンのドキュメント宣言は省略されます。- パラメーター:
standalone
- 使用する XML スタンドアロンドキュメント宣言- 導入:
- 4.3
getRootTagName
ルート要素のタグ名を取得します。- 戻り値:
- ルート要素タグ名
setRootTagName
ルート要素のタグ名を設定します。設定されていない場合、デフォルト名が使用されます(「ルート」)。表記法を使用して、名前空間 URI とプレフィックスもオプションで設定できます。{uri}prefix:root
プレフィックスはオプションです(デフォルトは空です)が、指定する場合は uri を指定する必要があります。さらに、root attributes
を使用して他の名前空間を宣言することもできます。- パラメーター:
rootTagName
- ルート要素に使用されるタグ名
getRootTagNamespacePrefix
ルート要素の名前空間プレフィックスを取得します。デフォルトでは空です。- 戻り値:
- rootTagNamespacePrefix
getRootTagNamespace
ルート要素の名前空間を取得します。- 戻り値:
- rootTagNamespace
getRootElementAttributes
ルート要素の属性を取得します。- 戻り値:
- ルート要素の属性
setRootElementAttributes
書き込まれるルート要素の属性を設定します。キー名のいずれかが "xmlns:" で始まる場合、名前空間宣言として扱われます。- パラメーター:
rootElementAttributes
- ルート要素の属性
setOverwriteOutput
public void setOverwriteOutput(boolean overwriteOutput) 出力ファイルに「上書き」フラグを設定します。出力ファイルの処理が再開されると、フラグは無視されます。- パラメーター:
overwriteOutput
- true に設定すると、出力ファイルは上書きされます(処理が再開される場合、このフラグは無視されます)。
setSaveState
public void setSaveState(boolean saveState) afterPropertiesSet
- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBean
のafterPropertiesSet
- 例外:
ExceptionSE
- エラーが発生した場合にスローされます- 関連事項:
InitializingBean.afterPropertiesSet()
open
出力ソースを開く- 次で指定:
- インターフェース
ItemStream
のopen
- パラメーター:
executionContext
- バッチコンテキスト。- 関連事項:
createXmlEventWriter
protected XMLEventWriterSE createXmlEventWriter(XMLOutputFactorySE outputFactory, WriterSE writer) throws XMLStreamExceptionSE サブクラスはオーバーライドしてライターをカスタマイズできます。- パラメーター:
outputFactory
-XMLEventWriter
SE の作成に使用されるファクトリ。writer
- 文字ストリームへの書き込みのためにXMLEventWriter
SE によって使用されるWriter
SE。- 戻り値:
- XML ライター
- 例外:
XMLStreamExceptionSE
-XMLEventWriter
SE の作成中にエラーが発生した場合にスローされます。
createXmlOutputFactory
サブクラスは、ファクトリをカスタマイズするためにオーバーライドできます。- 戻り値:
- xml 出力のファクトリ
- 例外:
FactoryConfigurationErrorSE
- このファクトリのインスタンスをロードできない場合にスローされます。
createXmlEventFactory
サブクラスは、イベントファクトリをカスタマイズするためにオーバーライドできます。- 戻り値:
- xml イベントのファクトリ
- 例外:
FactoryConfigurationErrorSE
- このファクトリのインスタンスをロードできない場合にスローされます。
createStaxResult
サブクラスはオーバーライドして、STAX の結果をカスタマイズできます。- 戻り値:
- 書き込み結果
initNamespaceContext
XMLEventWriter の名前空間コンテキストを初期化します。- rootTagName 用 rootTagNamespacePrefix
- ルート要素属性のその他の xmlns 名前空間接頭辞宣言
- パラメーター:
writer
- XML イベントライター- 例外:
XMLStreamExceptionSE
- 接頭辞またはデフォルトの名前空間の設定中にエラーが発生した場合にスローされます。
startDocument
以下を含む単純な XML ヘッダーを書き込みます。- xml 宣言 - エンコーディングと XML バージョンを定義します
- ルート要素とその属性の開始タグ
- パラメーター:
writer
- XML イベントライター- 例外:
XMLStreamExceptionSE
- エラーが発生した場合にスローされます。
endDocument
EndDocument タグを手動で書き込みます。- パラメーター:
writer
- XML イベントライター- 例外:
XMLStreamExceptionSE
- エラーが発生した場合にスローされます。
close
public void close()出力ソースをフラッシュして閉じます。- 次で指定:
- インターフェース
ItemStream
のclose
- 関連事項:
write
public void write(Chunk<? extends T> items) throws org.springframework.oxm.XmlMappingException, IOExceptionSE 値オブジェクトを書き込み、ファイルにフラッシュします。- 次で指定:
- インターフェース
ItemWriter<T>
のwrite
- パラメーター:
items
- 値オブジェクト- 例外:
IOExceptionSE
- 一般的なエラーが発生した場合にスローされます。org.springframework.oxm.XmlMappingException
- XML マッピング中にエラーが発生した場合にスローされます。
update
再起動データを取得します。- 次で指定:
- インターフェース
ItemStream
のupdate
- パラメーター:
executionContext
- バッチコンテキスト。- 関連事項: