ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

AsakusaFW BatchContext

2020-12-09 20:27:50 | PG(分散処理)

Asakusa Framework Advent Calendar 2020の9日目です。

Asakusa Frameworkでは、バッチの引数をBatchContextというクラスから取得できます。
これはキーとして文字列を指定するので、BatchContextを扱うクラスをひとつ用意し、キー文字列はそのクラス内にとどめるコーディングスタイルにするのがよいと思います。

public class BatchContextUtil {
  public static String getDate() {
    return BatchContext.get("date");
  }
}
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

AsakusaFW Sharedをまとめる勧め

2020-12-08 00:00:00 | PG(分散処理)

Asakusa Framework Advent Calendar 2020の8日目です。

Asakusa FrameworkでSharedCleanerを使う場合、Sharedを使っているクラスを指定する必要があります。
つまり、Sharedを使っているクラスが複数あると、TestクラスでSharedCleanerをその分だけ記述する必要があるということです。また、後からSharedを使っているクラスが増えると、基本的にTestクラスにそれを追加していく必要があります。

なので、Sharedだけを記述するようなユーティリティークラスをひとつ用意し、SharedCleanerはそのクラスだけを指定するようにするのが便利だと思います。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

AsakusaFW SharedCleaner

2020-12-07 00:00:00 | PG(分散処理)

Asakusa Framework Advent Calendar 2020の7日目です。

Asakusa FrameworkのOperatorクラスで、変化しない値を保持するためにSharedを使いますが、これの何が良いかというと、テスト時に値をクリアすることが出来るということです。

Sharedはバッチ実行中に変化しない値を保持しますが、テスト実行時に関しては、テストケース毎に保持する値が変わる事がありえます。
そのためにSharedCleanerというクラスが用意されています。これを使うと、Sharedで保持している値をクリアすることが出来るので、テストケース毎に初期化できるというわけです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

AsakusaFW Shared

2020-12-06 18:24:28 | PG(分散処理)

Asakusa Framework Advent Calendar 2020の6日目です。

Asakusa Frameworkは分散処理をするので、Operatorクラスはマルチスレッドセーフ(MTセーフ)になるようにコーディングしないといけません。
つまり、Operatorクラスでstaticフィールドで値を共有するようなコーディングは出来ません。
(当然、static finalな定数は除く)

が、1回だけ読み込んで、バッチ実行中は値が変わらないようなものについては、Sharedを使って保持することが出来ます。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

AsakusaFW デプロイメントアーカイブ

2020-12-05 08:03:39 | PG(分散処理)

Asakusa Framework Advent Calendar 2020の5日目です。

今年は久しぶりにJDBCでDBアクセスするプログラムを書きました。
で、出来たアプリケーションを実行環境で実行しようとして、依存するjarファイルが複数あるのでアーカイブファイルを作ったり、実行時にクラスパスを設定したり、久しぶりにJavaらしい手間を味わいました^^;

AsakusaFWだとアーカイブファイルはGradleのコマンドで生成できるし、実行用のシェル(YAESS)もあるので、そういった手間とは無縁なのでした。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする