クラス CallPerlRuleServer

すべての実装されたインタフェース:
CommonInterface, jp.ne.mki.wedge.run.interfaces.RuleEngineInterface

public class CallPerlRuleServer extends CallPerlRule

Perlロジッククラス呼び出し

Perlプログラムを呼び出すためのロジッククラスです。
呼び出した先のPerlプログラムは、ロジッククラスの代わりとして実装することが出来ます。

Constant.wdgに対して下記属性を追記することができます。

"jp.ne.mki.wedge.rule.common.other.CallPerlRule.command"


Perlのコマンドを記述します。
指定しない場合は「perl」と実行されます。
perlの実行ディレクトリがパスに含まれていない場合は
こちらの設定を変更する必要がございます。

設定例)
「/usr/bin/perl」


"jp.ne.mki.wedge.rule.common.other.CallPerlRule.rootpath"

Perlコマンド実行時のルートディレクトリを指定します。
指定しない場合は、カレントディレクトリがルートディレクトリとなります。
(SAMC上で実行した場合は、./run.sh を起動したディレクトリとなります。)

設定例)
「/opt/tomcat/webapps/myproject/WEB-INF/perlscript/」



"jp.ne.mki.wedge.rule.common.other.CallPerlRule.timeout"


Perlコマンド実行時のタイムアウト時間を指定します。
デフォルトで60秒がタイムアウトとなります。
タイムアウトを設定しない場合は、この項目に-1を指定してください。



"jp.ne.mki.wedge.rule.common.other.CallPerlRule.encode"


Perlに文字列データを送信する際に使用される文字コードを指定します。
指定しない場合はシステムのデフォルトエンコードが使用されます。
エンコードの種類によっては、文字化けが発生する可能性がありますので、
ご注意下さい。

設定例)
「UTF-8」「EUC-JP」「MS932」



"jp.ne.mki.wedge.rule.common.other.CallPerlRule.dirchange"


Perl実行時にカレントディレクトリの位置を変更する場合はtrueを、
変更しない場合はfalseを指定してください。
省略時はtrueとなります。

動作例)

rootpath 「/usr/local/perl」
実行ファイル 「calculate/DecimalCalcAdd.pl」
dirchange 「false」

→ 実行結果
/usr/local/perlをカレントディレクトリとし、
calculate/DecimalCalcAdd.plを実行します。

rootpath 「/usr/local/perl」
実行ファイル 「calculate/DecimalCalcAdd.pl」
dirchange 「true」

→ 実行結果
/usr/local/perl/calculate をカレントディレクトリとし、
DecimalCalcAdd.plを実行します。

(※ カレントディレクトリの位置によって、require で指定するファイルパスが
変わりますので、ご注意下さい。)

[I/O RECORD]

InputRecord OutputRecord
呼び出し先のPerlプログラムに合わせた引数を設定してください。 呼び出し先のPerlプログラムに合わせた返り値を設定してください。

[RULE PARAMETER]

Parameter 呼び出し先のPerlファイル名。
呼び出し先のPerlプログラムに、ロジッククラスパラメータを送信したい場合は、
コロン(:)区切りで指定をします。

設定例)
"DecimalCalcAdd.pl"
"calculate/DeCimalCalcAdd.pl"
"SetValue.pl:Hello World"

導入されたバージョン:
1.2.0
バージョン:
1.0
  • コンストラクタの詳細

    • CallPerlRuleServer

      public CallPerlRuleServer()
  • メソッドの詳細

    • setExtendsInformation

      protected void setExtendsInformation(Map<String,String> outHeader)
      ControlDataに SQL,ExecuteTypeを設定します。
      オーバーライド:
      setExtendsInformation クラス内 CallPerlRule
      パラメータ:
      outHeader -