DB操作ジョブ

概要

本サンプルバッチジョブは、PostgreSQLの「businessdb」に存在する「test_table」からデータを取得し、 10倍した値をテーブルに追加します。

本バッチで利用する部品

本サンプルジョブでは以下の部品を利用します。

  • DBデータ抽出(一覧取得):getdb
  • データ演算(四則) :calc
  • DBデータ出力 :setdb

注意事項

  • 本作業はrootユーザで実行してください。

動作手順

1. 以下の資材をCAPサーバに展開します

tar xvf SetDBAndGetDB.tar.gz -C /tmp

2. taskdefとSqlMapConfigにファイル2つを配置します

以下のコマンドを実行し、taskDefとSqlMapConfigをBatchControllerにコピーしてください。

cp /tmp/SetDBAndGetDB/taskDef/PSQLTest_GetAndSetProc.xml /usr/local/appf/BatchController/taskDef
cp /tmp/SetDBAndGetDB/SqlMapConfig/PSQLGetAndSetSample.xml /usr/local/appf/BatchController/SqlMapConfig

3. 既存の「SqlMapConfig.xml」に記載を追加します

以下のコマンドを実行し、「追」が記載された行を追加してください。

vi /usr/local/appf/BatchController/SqlMapConfig/SqlMapConfig.xml
   1 <?xml version="1.0" encoding="UTF-8" ?>
   2
   3 <!DOCTYPE sqlMapConfig
   4     PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
   5     "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
   6
   7 <sqlMapConfig>
   8
   9         <properties resource="resources/jdbc.properties" />
  10
  11         <settings useStatementNamespaces="true" />
  12
  13         <!--
  14                 List the SQL Map XML files. They can be loaded from the classpath, as
  15                 they are here (com.domain.data...)
  16         -->
  17         <sqlMap resource="SqlMapConfig/Base_sqlMap.xml" />
  18         <sqlMap resource="SqlMapConfig/BatchFwSqlMap.xml" />
追19         <sqlMap resource="SqlMapConfig/PSQLGetAndSetSample.xml" />
  20 </sqlMapConfig>

4. BatchControllerを再起動します

以下のコマンドを実行し、BatchControllerを再起動してください。

systemctl restart BatchController

5. DBを新規作成します

「setupSql」ディレクトリの「testInitialize.sql」をサーバに配置して、以下のコマンドを実行してください。

PGPASSWORD=commonappf psql -U commonappf -d businessdb -f /tmp/SetDBAndGetDB/setupSql/testInitialize.sql

6. m2m_maintenance_web からバッチジョブを登録します

  1. Webブラウザでm2m_maintenance_webにログインしてください。
    http://localhost:8080/m2m_maintenance_web/
  2. 画面右上のメニューからバッチメンテナンスを開いてください。
  3. 「バッチマスタメンテナンス」画面で「新規作成」を押下してください。
  4. 「新規登録」画面で「jobDef」ディレクトリの「batchJob_GetAndSetPSQL.txt」を選択し、「登録」を押下してください。
  5. 「バッチマスタメンテナンス」画面より「設定再読込」を押下してください。
  6. 「設定再読込」画面で、設定再読込を行うサーバを選択肢て「実行」を押下してください。

7. m2m_maintenance_web からジョブ実行します

  1. 「バッチマスタメンテナンス」画面より先ほど登録したバッチを選択し、「投入」を実行してください。
  2. 「バッチ投入」画面で、「投入サーバ」を選択し、「投入」を押下してください。

8. バッチジョブの実行結果を確認します

以下のコマンドを実行し、 test_table のレコードが更新されたことを確認してください。

PGPASSWORD=commonappf psql -U commonappf businessdb -c "select * from test_table"

   id | number
  ----+--------
   1  |      1
   2  |     10
  (2 行)