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 からバッチジョブを登録します¶
- Webブラウザでm2m_maintenance_webにログインしてください。
http://localhost:8080/m2m_maintenance_web/
- 画面右上のメニューからバッチメンテナンスを開いてください。
- 「バッチマスタメンテナンス」画面で「新規作成」を押下してください。
- 「新規登録」画面で「jobDef」ディレクトリの「batchJob_GetAndSetPSQL.txt」を選択し、「登録」を押下してください。
- 「バッチマスタメンテナンス」画面より「設定再読込」を押下してください。
- 「設定再読込」画面で、設定再読込を行うサーバを選択肢て「実行」を押下してください。
7. m2m_maintenance_web からジョブ実行します¶
- 「バッチマスタメンテナンス」画面より先ほど登録したバッチを選択し、「投入」を実行してください。
- 「バッチ投入」画面で、「投入サーバ」を選択し、「投入」を押下してください。
8. バッチジョブの実行結果を確認します¶
以下のコマンドを実行し、 test_table
のレコードが更新されたことを確認してください。
PGPASSWORD=commonappf psql -U commonappf businessdb -c "select * from test_table"
id | number
----+--------
1 | 1
2 | 10
(2 行)