openGionopenGion
5.4.3.0

org.opengion.fukurou.process
クラス Process_FileFtp

java.lang.Object
  上位を拡張 org.opengion.fukurou.process.AbstractProcess
      上位を拡張 org.opengion.fukurou.process.Process_FileFtp
すべての実装されたインタフェース:
ChainProcess, HybsProcess

public class Process_FileFtp
extends AbstractProcess
implements ChainProcess

Process_FileFtp は、上流から受け取った FileLineModel を処理する、 ChainProcess インターフェースの実装クラスです。 上流から受け取った FileLineModel の ファイルから、localPath のローカル共通パスを remotePath のFTP共通パスに、PFT伝送します。(-command=PUT 処理のみ) ファイルそのものの階層構造は、維持されるため、ローカルからFTPサーバー へのフォルダコピーに近いイメージになります。 Process_FileCopy との違いは、ファイルのエンコード変換は行いません。ただし、 FTP伝送での改行コードの変換は、-mode=ASCII で指定できます。 もうひとつ、Process_FileCopy では、inPath と outPath でのCOPY処理でしたが、 このクラスでは、localPath と、remotePath でそれぞれの共通パスを指定します。 上流プロセスでは、Name 属性として、『File』を持ち、値は、Fileオブジェクト である、Process_FileSearch を使用するのが、便利です。それ以外のクラスを 使用する場合でも、Name属性と、File オブジェクトを持つ LineModel を受け渡し できれば、使用可能です。 引数文字列中に空白を含む場合は、ダブルコーテーション("") で括って下さい。 引数文字列の 『=』の前後には、空白は挟めません。必ず、-key=value の様に 繋げてください。

形式サンプル:
 Process_FileFtp -host=FTPサーバー -user=ユーザー -pass=パスワード -localPath=ローカル共通パス -remotePath=FTP共通パス
                   [-mode=[ASCII/BINARY]  ] [-passive=[true/false] ]

    -host=FTPサーバー             :FTPサーバー
    -user=ユーザー                :ユーザー
    -pass=パスワード              :パスワード
    -localPath=ローカル共通パス   :上流で検索されたファイルパスのローカル側共通部分
    -remotePath=FTP共通パス       :上流で検索されたファイルパスのFTP側共通部分
   [-mode=[ASCII/BINARY]  ]       :扱うファイルの種類を指定します。(初期値:ASCII)
   [-passive=[true/false] ]       :パッシブモード(ローカルからサーバーへ接続を張る)を利用するかどうか。(初期値:true)
                                      (false:アクティブモード(通常のFTPの初期値)で通信します。)
   [-mkdirs=[true/false]  ]       :受け側ファイル(GET時:LOCAL、PUT時:FTPサーバー)にディレクトリを作成するかどうか。(初期値:true)
                                      (false:ディレクトリが無ければ、エラーにします。)
   [-encode=エンコード名 ]        :日本語ファイル名などのエンコード名を指定します。(初期値:UTF-8)
   [-timeout=タイムアウト[秒] ]   :Dataタイムアウト。(初期値:600 [秒])
   [-display=[false/true] ]       :trueは、検索状況を表示します。(初期値:false)
   [-debug=[false|true]   ]       :デバッグ情報を標準出力に表示する(true)かしない(false)か(初期値 false:表示しない)
変更履歴:
5.1.5.0 (2010/04/01) 新規追加 ※ 注意 Windwosにおいて、大量ファイルのFTP伝送を行う場合は、注意が必要です。 Windowsにおけるソケットの最大値は、5000がデフォルト値です。 また、TIME_WAITのデフォルト値は、4分(=240秒)です。 FTPの様にデータ伝送時に毎回、ソケットを作成すると、ポートが枯渇します。 この値を変更するには、レジストリに以下のキーを設定する必要があります。 ■ソケットの最大数(5,000~65,534の間で設定): HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort (DWORD) ■TIME_WAITの時間(30~300秒の間で設定): HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay (DWORD) ※ 設定後は再起動しないと設定が反映されません。
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
 
クラス org.opengion.fukurou.process.AbstractProcess から継承されたフィールド
CR, TAB
 
コンストラクタの概要
Process_FileFtp()
          デフォルトコンストラクター。
 
メソッドの概要
 LineModel action(LineModel data)
          引数の LineModel を処理するメソッドです。
 void end(boolean isOK)
          プロセスの終了を行います。
 void init(ParamProcess paramProcess)
          プロセスの初期化を行います。
static void main(java.lang.String[] args)
          このクラスは、main メソッドから実行できません。
 java.lang.String report()
          プロセスの処理結果のレポート表現を返します。
 java.lang.String usage()
          このクラスの使用方法を返します。
 
クラス org.opengion.fukurou.process.AbstractProcess から継承されたメソッド
getArgument, logging, println, putArgument, putArgument, setLoggerProcess, toString
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース org.opengion.fukurou.process.HybsProcess から継承されたメソッド
logging, println, putArgument, putArgument, setLoggerProcess
 

コンストラクタの詳細

Process_FileFtp

public Process_FileFtp()
デフォルトコンストラクター。 このクラスは、動的作成されます。デフォルトコンストラクターで、 super クラスに対して、必要な初期化を行っておきます。

メソッドの詳細

init

public void init(ParamProcess paramProcess)
プロセスの初期化を行います。初めに一度だけ、呼び出されます。 初期処理(ファイルオープン、DBオープン等)に使用します。

定義:
インタフェース HybsProcess 内の init
パラメータ:
paramProcess - ParamProcess

end

public void end(boolean isOK)
プロセスの終了を行います。最後に一度だけ、呼び出されます。 終了処理(ファイルクローズ、DBクローズ等)に使用します。

定義:
インタフェース HybsProcess 内の end
パラメータ:
isOK - トータルで、OKだったかどうか(true:成功/false:失敗)

action

public LineModel action(LineModel data)
引数の LineModel を処理するメソッドです。 変換処理後の LineModel を返します。 後続処理を行わない場合(データのフィルタリングを行う場合)は、 null データを返します。つまり、null データは、後続処理を行わない フラグの代わりにも使用しています。 なお、変換処理後の LineModel と、オリジナルの LineModel が、 同一か、コピー(クローン)かは、各処理メソッド内で決めています。 ドキュメントに明記されていない場合は、副作用が問題になる場合は、 各処理ごとに自分でコピー(クローン)して下さい。

定義:
インタフェース ChainProcess 内の action
パラメータ:
data - LineModel オリジナルのLineModel
戻り値:
LineModel 処理変換後のLineModel

report

public java.lang.String report()
プロセスの処理結果のレポート表現を返します。 処理プログラム名、入力件数、出力件数などの情報です。 この文字列をそのまま、標準出力に出すことで、結果レポートと出来るような 形式で出してください。

定義:
インタフェース HybsProcess 内の report
戻り値:
処理結果のレポート

usage

public java.lang.String usage()
このクラスの使用方法を返します。

定義:
インタフェース HybsProcess 内の usage
戻り値:
String このクラスの使用方法

main

public static void main(java.lang.String[] args)
このクラスは、main メソッドから実行できません。

パラメータ:
args - String[]

openGion 5.4.3.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.