@Published(tag="architect") public class FileRecordWriterHolder extends java.lang.Object
FileRecordWriter
のインスタンスをスレッド毎に管理するクラス。
スレッド毎に管理するFileRecordWriter
インスタンスの生成及び取得、クローズ機能を持つ。
FileRecordWriterDisposeHandler
をハンドラとして設定する場合、
本クラスがスレッド上で管理するすべてのFileRecordWriter
がFileRecordWriterDisposeHandler
により自動的にクローズされるので、
業務アプリケーションで本クラスのclose(java.lang.String)
メソッドを呼び出す必要はない。
close(String, String)
及びclose(String)
では、ThreadLocal.remove()
の呼び出しを行わない。
スレッド上の値を削除するためには、closeAll()
の呼び出しが必要となる。FileRecordWriter
コンストラクタと説明 |
---|
FileRecordWriterHolder() |
修飾子とタイプ | メソッドと説明 |
---|---|
static void |
close(java.lang.String fileName)
FilePathSetting から"output"という論理名で取得したベースパス配下のファイルに書き出しを行うFileRecordWriter をクローズし、
インスタンスをカレントスレッド上から削除する。 |
static void |
close(java.lang.String basePathName,
java.lang.String fileName)
FilePathSetting に設定した論理名(論理ベースパス)配下のファイルに書き出しを行うFileRecordWriter をクローズし、
インスタンスをカレントスレッド上から削除する。 |
static void |
closeAll()
本クラスがカレントスレッド上で管理している全ての
FileRecordWriter のファイルストリームを
クローズし、また、それら全てのFileRecordWriter をカレントスレッド上から削除する。 |
protected FileRecordWriter |
createFileRecordWriter(java.lang.String dataFileBasePathName,
java.lang.String dataFileName,
java.lang.String layoutFileBasePathName,
java.lang.String layoutFileName,
int bufferSize)
FileRecordWriter のインスタンスを生成する。 |
protected java.lang.String |
createKey(java.lang.String basePathName,
java.lang.String fileName)
スレッドに保持するキーを生成する。
|
static FileRecordWriter |
get(java.lang.String fileName)
FilePathSetting から"output"という論理名で取得したベースパス配下のファイルに書き出しを行うFileRecordWriter を取得する。 |
static FileRecordWriter |
get(java.lang.String basePathName,
java.lang.String fileName)
FilePathSetting に設定した論理名(論理ベースパス)配下のファイルに書き出しを行うFileRecordWriter を取得する。 |
static FileRecordWriterHolder |
getInstance()
本クラスのインスタンスを
SystemRepository より取得する。 |
static void |
init()
カレントスレッド上で開いたファイルを管理するための初期処理を行う。
|
static void |
open(java.lang.String dataFileName,
java.lang.String layoutFileName)
FilePathSetting から"output"という論理名で取得したベースパス配下のファイルをオープンする。 |
static void |
open(java.lang.String dataFileName,
java.lang.String layoutFileName,
int bufferSize)
FilePathSetting から"output"という論理名で取得したベースパス配下のファイルをオープンする。 |
static void |
open(java.lang.String dataFileBasePathName,
java.lang.String dataFileName,
java.lang.String layoutFileName)
FilePathSetting に設定した論理名(論理ベースパス)配下のファイルをオープンする。 |
static void |
open(java.lang.String dataFileBasePathName,
java.lang.String dataFileName,
java.lang.String layoutFileName,
int bufferSize)
FilePathSetting に設定した論理名(論理ベースパス)配下のファイルをオープンする。 |
static void |
open(java.lang.String dataFileBasePathName,
java.lang.String dataFileName,
java.lang.String layoutFileBasePathName,
java.lang.String layoutFileName)
FilePathSetting に設定した論理名(論理ベースパス)配下のファイルをオープンする。 |
static void |
open(java.lang.String dataFileBasePathName,
java.lang.String dataFileName,
java.lang.String layoutFileBasePathName,
java.lang.String layoutFileName,
int bufferSize)
FilePathSetting に設定した論理名(論理ベースパス)配下のファイルをオープンする。 |
static void |
write(java.util.Map<java.lang.String,?> record,
java.lang.String fileName)
FilePathSetting から"output"という論理名で取得したベースパス配下のデータファイルにレコードを出力する。 |
static void |
write(java.util.Map<java.lang.String,?> record,
java.lang.String basePathName,
java.lang.String fileName)
FilePathSetting に設定した論理名(論理ベースパス)配下のデータファイルにレコードを出力する。 |
static void |
write(java.lang.String recordType,
java.util.Map<java.lang.String,?> record,
java.lang.String fileName)
FilePathSetting から"output"という論理名で取得したベースパス配下のデータファイルにレコードを出力する。 |
static void |
write(java.lang.String recordType,
java.util.Map<java.lang.String,?> record,
java.lang.String basePathName,
java.lang.String fileName)
引数で指定したデータファイルにレコードを出力する。
|
public static FileRecordWriterHolder getInstance()
SystemRepository
より取得する。
SystemRepository
にインスタンスが存在しない場合は、クラスロード時に生成した本クラスのインスタンスを返却する。
@Published public static void open(java.lang.String dataFileName, java.lang.String layoutFileName)
FilePathSetting
から"output"という論理名で取得したベースパス配下のファイルをオープンする。
このとき、フォーマット定義ファイルもFilePathSetting
から"format"という論理名で取得したベースパス配下より読み込む。dataFileName
- 書き込むデータファイルのファイル名layoutFileName
- フォーマット定義ファイルのファイル名@Published public static void open(java.lang.String dataFileName, java.lang.String layoutFileName, int bufferSize)
FilePathSetting
から"output"という論理名で取得したベースパス配下のファイルをオープンする。
このとき、フォーマット定義ファイルもFilePathSetting
から"format"という論理名で取得したベースパス配下より読み込む。dataFileName
- 書き込むデータファイルのファイル名layoutFileName
- フォーマット定義ファイルのファイル名bufferSize
- バッファサイズ@Published public static void open(java.lang.String dataFileBasePathName, java.lang.String dataFileName, java.lang.String layoutFileName)
FilePathSetting
に設定した論理名(論理ベースパス)配下のファイルをオープンする。
このとき、フォーマット定義ファイルはFilePathSetting
から"format"という論理名で取得したベースパス配下より読み込む。dataFileBasePathName
- 書き込むデータファイルのベースパスの論理名dataFileName
- 書き込むデータファイルのファイル名layoutFileName
- フォーマット定義ファイルのファイル名@Published public static void open(java.lang.String dataFileBasePathName, java.lang.String dataFileName, java.lang.String layoutFileName, int bufferSize)
FilePathSetting
に設定した論理名(論理ベースパス)配下のファイルをオープンする。
このとき、フォーマット定義ファイルはFilePathSetting
から"format"という論理名で取得したベースパス配下より読み込む。dataFileBasePathName
- 書き込むデータファイルのベースパスの論理名dataFileName
- 書き込むデータファイルのファイル名layoutFileName
- フォーマット定義ファイルのファイル名bufferSize
- バッファサイズpublic static void init()
本処理を呼ばなかった場合、子スレッド側で開いたファイルは管理対象とならないため注意すること。
@Published public static void open(java.lang.String dataFileBasePathName, java.lang.String dataFileName, java.lang.String layoutFileBasePathName, java.lang.String layoutFileName)
FilePathSetting
に設定した論理名(論理ベースパス)配下のファイルをオープンする。
このとき、フォーマット定義ファイルはFilePathSetting
から"format"という論理名で取得したベースパス配下より読み込む。
また、データファイルに書き込む際のバッファサイズはデフォルト値(8192B)が使用される。dataFileBasePathName
- 書き込むデータファイルのベースパスの論理名dataFileName
- 書き込むデータファイルのファイル名layoutFileBasePathName
- フォーマット定義ファイルのベースパス論理名layoutFileName
- フォーマット定義ファイルのファイル名@Published public static void open(java.lang.String dataFileBasePathName, java.lang.String dataFileName, java.lang.String layoutFileBasePathName, java.lang.String layoutFileName, int bufferSize)
FilePathSetting
に設定した論理名(論理ベースパス)配下のファイルをオープンする。
また、引数でデータファイルに書き込む際のバッファサイズと、FilePathSetting
に設定したフォーマット定義ファイルの論理名を指定する。
dataFileBasePathName
- 書き込むデータファイルのベースパスの論理名dataFileName
- 書き込むデータファイルのファイル名layoutFileBasePathName
- フォーマット定義ファイルのベースパスの論理名layoutFileName
- フォーマット定義ファイルのファイル名bufferSize
- バッファサイズjava.lang.IllegalArgumentException
- bufferSize
以外の引数がnullまたは空の場合java.lang.IllegalStateException
- カレントスレッド上のFileRecordWriter
が既にオープンしている場合@Published public static void write(java.util.Map<java.lang.String,?> record, java.lang.String fileName)
FilePathSetting
から"output"という論理名で取得したベースパス配下のデータファイルにレコードを出力する。record
- ファイルに出力するレコードfileName
- 書き込むデータファイルのファイル名@Published public static void write(java.util.Map<java.lang.String,?> record, java.lang.String basePathName, java.lang.String fileName)
FilePathSetting
に設定した論理名(論理ベースパス)配下のデータファイルにレコードを出力する。record
- ファイルに出力するレコードbasePathName
- 書き込むデータファイルのベースパスの論理名fileName
- 書き込むデータファイルのファイル名@Published public static void write(java.lang.String recordType, java.util.Map<java.lang.String,?> record, java.lang.String fileName)
FilePathSetting
から"output"という論理名で取得したベースパス配下のデータファイルにレコードを出力する。
また、引数で出力するレコードのレコードタイプを指定する。
recordType
- 出力するレコードのレコードタイプrecord
- ファイルに出力するレコードfileName
- 書き込むデータファイルのファイル名@Published public static void write(java.lang.String recordType, java.util.Map<java.lang.String,?> record, java.lang.String basePathName, java.lang.String fileName)
recordType
- 出力するレコードのレコードタイプrecord
- ファイルに出力するレコードbasePathName
- 書き込むデータファイルのベースパスの論理名fileName
- 書き込むデータファイルのファイル名protected FileRecordWriter createFileRecordWriter(java.lang.String dataFileBasePathName, java.lang.String dataFileName, java.lang.String layoutFileBasePathName, java.lang.String layoutFileName, int bufferSize)
FileRecordWriter
のインスタンスを生成する。dataFileBasePathName
- ベースパスの論理名dataFileName
- 書き込むデータファイルのファイル名layoutFileName
- レイアウトファイル名layoutFileBasePathName
- レイアウトファイルの配置ディレクトリの論理名bufferSize
- ファイル読み込み時のバッファサイズprotected java.lang.String createKey(java.lang.String basePathName, java.lang.String fileName)
basePathName
- ベースパスの論理名fileName
- 書き込むデータファイルのファイル名java.lang.IllegalArgumentException
- basePathName
に"&"が含まれていなかった場合public static FileRecordWriter get(java.lang.String fileName)
FilePathSetting
から"output"という論理名で取得したベースパス配下のファイルに書き出しを行うFileRecordWriter
を取得する。fileName
- 書き込むデータファイルのファイル名FileRecordWriter
public static FileRecordWriter get(java.lang.String basePathName, java.lang.String fileName)
FilePathSetting
に設定した論理名(論理ベースパス)配下のファイルに書き出しを行うFileRecordWriter
を取得する。basePathName
- 書き込むデータファイルのベースパスの論理名fileName
- 書き込むデータファイルのファイル名FileRecordWriter
java.lang.IllegalArgumentException
- カレントスレッド上のFileRecordWriter
が閉じている場合public static void close(java.lang.String fileName)
FilePathSetting
から"output"という論理名で取得したベースパス配下のファイルに書き出しを行うFileRecordWriter
をクローズし、
インスタンスをカレントスレッド上から削除する。fileName
- 書き込むデータファイルのファイル名public static void close(java.lang.String basePathName, java.lang.String fileName)
FilePathSetting
に設定した論理名(論理ベースパス)配下のファイルに書き出しを行うFileRecordWriter
をクローズし、
インスタンスをカレントスレッド上から削除する。basePathName
- 書き込むデータファイルのベースパスの論理名fileName
- 書き込むデータファイルのファイル名public static void closeAll()
FileRecordWriter
のファイルストリームを
クローズし、また、それら全てのFileRecordWriter
をカレントスレッド上から削除する。