3-2-2 Java版SVF実行部接続用ランタイム(Socket)の設定

Java版SVF実行部接続用ランタイム(Socket)は、次の手順でセットアップします。


  1. Java版SVF実行部がインストールされているコンピューターで、「svf.jar」をCLASSPATHに通します。


  2. 「svf.jar」を起動します。

    java jp.co.fit.vfreport.SvfrServer (options)
参考
  • svf.jar以外の次のライブラリをCLASSPATHに追加しても問題ありません。
    • pdfcrypter128.jar
    • svfpdfparser.jar
    • svfgrph.jar
    • jai_codec.jar
    • jai_core.jar
    • forme.jar
    • fcconv.jar
  • クエリー機能は、必ずJDBCドライバーを使用します。Javaプログラムからクエリー機能を使用する場合は、JDBCドライバーをCLASSPATHに追加する必要があります。JDBCドライバーは、多くの場合データベースに付属していますので、詳細はデータベースのマニュアルを参照してください。

起動オプション

起動オプションは、次のとおりです。

参考

起動オプションは、使用しているsvf.jarのBuild番号により異なります。使用できるオプションは「-H」オプションで確認してください。

オプション
説明
-P[n] リスンポートアドレス[n]を指定します。指定されていない場合は「4141」です。
-B[a] バインドアドレス[a]を指定します。
  • -Bを指定する場合は、[a]の指定は必須です。
  • -Bを指定した場合は、[a]のアドレスを持つネットワークインターフェイスからの接続のみを許可します。
  • -Bの指定がない場合は、どのネットワークインターフェイスからの接続も許可します。
-W[n] クライアント側からのリクエスト受信待ち時間のタイムアウト間隔[n](分)を指定します。
指定されていない場合は、15分でタイムアウトします。
-L[f] ログファイル名[f]を指定します。指定されていない場合は、ログは出力されません。
-T[n] 使用できません。
-M[n] n = 同時接続数を指定します。
  • 正数
    スレッドが空くまで待機します。
  • 0
    スレッド数は無制限です(デフォルト)。
  • 負数
    指定した同時接続数を超えた場合は、超えた接続を即時に切断します。
-E[n] セッションログに保存する内容を指定します。
ログの保存内容は、[n]の値によって切り替えます。指定がない場合は、通信内容を含まない例外内容のみのログです。
この値は論理演算による組み合わせが可能です。
  • 1(always)
    すべてのログを保存します。
  • 2(error)
    SVF実行部のAPIからエラーコードが返されたときに保存します。
  • 4(exception)
    処理中に例外が発生したときに保存します。

セッションログは、-Fオプションの指定がある場合は-Fオプションの指定場所に出力され、指定のない場合は一時ファイルの作成場所に出力されます。
作成されるログファイルは次の2種類です。

エラー要約ログ

SvfrServer.Port.pppp(サーバー側のポート番号).Error.log

セッションログ

SvfrServer.Port.pppp(サーバー側のポート番号)-yyyyMMddhhmmss(年月日時分秒)-aaa.aaa.aaa.aaa(クライアント側のIPアドレス)-pppp(クライアント側のポート番号).log
-F[d] セッションログ保存先ディレクトリを指定します。
-Eオプションの指定があり、-Fオプションの指定がない場合は、一時ファイルの作成場所に出力されます。
-O[n] ログをローテートする場合に指定します。ローテート対象は、コネクトサーバーログとエラー要約ログです。このオプションを指定しない場合、ログは日単位でローテートされます。
  • 0
    ローテートしません。
  • 1
    日単位でローテートします。出力されるファイルの名称は「filename.log.YYYY-MM-DD」となります。
  • 2
    週単位でローテートします。出力されるファイルの名称は「filename.log.YYYY-MM-N」で、Nは何週目かの番号です。曜日に関係なく月の日を7日単位で区切ります。「1」は1から7、「2」は8から14、「3」は15から21、「4」は22から28、「5」は29以降です。
  • 3
    月単位でローテートします。出力されるファイルの名称は「filename.log.YYYY-MM」となります。
-G ガベージコレクションを実行しません(デフォルト)。
-G0 セッション終了時にガベージコレクションを実行します。
-G[n] ガベージコレクションを実行する間隔[n](ミリ秒)を指定します。
-X 致命的なエラー(Error派生クラス)が発生した場合は、SvfrServerを正常終了します。
-H ヘルプを表示します。起動オプションの説明が表示されます。
-S SVF実行部のAPI呼び出しをシリアル実行することで動作を安定させます。
ただし、並列実行性が犠牲になるため、通常は使用しません。
-K 起動しているSvfrServerをシャットダウンします。接続中のセッションについては処理が終了するまで待機します。
「-P」、「-B」で設定を変更している場合に併用してください。
このオプションは、他のオプションのように起動時に設定しません。SvfrServerがすでに起動していることが前提です。

起動オプションでのログ出力設定例

ログ出力の設定例を示します。ファイルへ出力する場合、ファイル名まで指定する必要があります。

ログ出力設定例

jp.co.fit.vfreport.SvfrServer -L"C:\temp\SVF Connect for Java API\server.log"

出力例は、以下のとおりです。接続用ランタイムのバージョンによって、出力内容が異なることがあります。
接続用ランタイムが起動しているかどうかは、コマンドプロンプトから「netstat -an」コマンドを入力して確認できます。ポート「4141」がLISTENING状態になっていれば起動しています。

出力例

host address is [ホスト名 (IPアドレス)]bind address is [0.0.0.0:4141]free/total memory is [513,254,312/518,979,584] bytesmax  threads is [0][ホスト名][Wed Sep 18 00:00:00 JST 2013] server start[127.0.0.1:2120][Wed Sep 18 00:00:04 JST 2013] connect (1)[127.0.0.1:2120][Wed Sep 18 00:00:07 JST 2013] disconnect (3172/875[28]/2297[72]/407/116)

SvfrServer起動時のjava.awt.headlessオプションの指定

UNIX/Linuxコンピューター上で画像ファイル(バーコード、QRコードを含む)を扱う際に(JDK1.4.2以上の使用が前提)、java.awt.headlessオプションを指定することで画像ファイルを出力できるようになります。java.awt.headlessオプションの設定が必要となるのは、UNIXまたはLinux上でSvfrServerを起動している場合のみです。

java.awt.headlessオプションを指定して画像ファイルを出力するには、SVF実行部がインストールされているサーバー上で起動しているSvfrServer(待ち受けモジュール)の起動オプションを、次のように変更します。

  • 変更前
    java -Xrs -Xms512m -Xmx512m jp.co.fit.vfreport.SvfrServer
  • 変更後
    java -Xrs -Xms512m -Xmx512m -Djava.awt.headless=true jp.co.fit.vfreport.SvfrServer