2021-01-01から1年間の記事一覧
Testcontainers はユニットテストの起動と終了と共にdockerコンテナも起動と終了してくれるライブラリ。windowsというかWSL2で動かすには若干の追加設定が必要だった。 背景 特に何も設定せずtestcontainersからWSLのdockerに接続しようとすると下記のような…
WSL2上のdockerでMySQLを起動してユニットテストを記述する。Testcontainersでテスト時にコンテナを自動的に開始・終了をする。 環境 windows 10 WSL2 Ubuntu-20.04 Docker version 20.10.11 ソースコード Spring Initializr で「testcontainer」と入力すれ…
WSL2上のdockerでsftpサーバを起動してユニットテストを記述する。Testcontainersでテスト時にコンテナを自動的に開始・終了をする。 環境 windows 10 WSL2 Ubuntu-20.04 Docker version 20.10.11, ソースコード Spring Initializr で「testcontainer」と入…
従来、メタテーブルを永続化しなくするためにMapJobRepositoryFactoryBeanを使う事があったがspring-batch v5.0で削除予定になったようだ。 * @deprecated as of v4.3 in favor or using the {@link JobRepositoryFactoryBean} * with an in-memory database…
gradleで複数プロジェクトを作成すると共通のビルドスクリプトを共有したくなる。方法は場合に応じて色々あるが、ここではcustom pluginをMavenリポジトリにpublishする方法を述べる。動作確認のためにlocalのMavenリポジトリを使うが、publish先をremoteやG…
gradleを7.2にアップデートした際にmavenプラグインをmaven-publishに置き換えた。spring-bootアプリケーションのjarをpublishが出来るようになるまでそこそこ苦労したので過程などを残しておく。 環境 gradle 7.2 java 11 spring-boot 2.5.4 ソースコード -…
単一プロジェクト内のsubproject間の共通設定をpluginにまとめる方法はgradle initでプロジェクト作ればそこに例があるし、自分のblogだと gradle initの複数subproject構成を見る(6.8.3)にまとめている。 ここでは複数プロジェクト間の共通設定をpluginにま…
40代・男性の新型コロナウイルス ワクチン(モデルナ)接種2回目の記録です。 時系列 接種日から数日後まで時系列に沿って、体調の変化やその対処およびその時の心境などを述べる。 7/21 接種日 - 約半日後に急激な発熱 正午頃に2回目の接種を終える。数時間…
javaでextendsの階層を深くしまくったらどうなるか? 理論的な裏付けは特に行わず、とりあえずやってみたら何が起きるか、を見る。 環境 java version "16" 2021-03-16 やったこと こんな感じでひたすらextendsを重ねるクラスを生成し、コンパイルして実行し…
動機 gradle勉強のためgradle initが生成する複数のsubproject構成を見る。基本的には https://docs.gradle.org/6.8.3/samples/sample_building_java_applications_multi_project.html と書いてる事は変わらない。 複数のsubprojectを作る場合はネットをぐぐ…
spring-bootのEnvironmentPostProcessorを実装する事でEnvironmentの初期化処理に後処理を追加可能になる。これでプロパティの初期化をカスタマイズできる。大抵のケースでExternalized Configurationを利用すればプロパティは問題無いが、それでは機能不足…
Testcontainersを使用し、spring-bootのテスト開始時にoracle xeのdockerコンテナを起動してテスト終了時に停止する。 環境 Windows 10 Pro x64 docker desktop 3.1.0 事前準備 oracleのdocker まずdockerでoracleを起動可能にする。 kagamihoge.hatenablog.…
dockerとはいえoracleは結構な起動時間がかかる。下記URLにあるpre-builtにより時間の短縮が見込めるとのことなので試す。 https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/samples/prebuiltdb 環境 Windows 10 Docker …
spring-kafkaのプロパティspring.kafka.consumer.auto-offset-resetの挙動の違いを確認する。 以下はorg.apache.kafka.clients.consumer.ConsumerConfig#AUTO_OFFSET_RESET_DOCの抜粋だけど https://kafka.apache.org/documentation/#consumerconfigs_auto.o…
リファレンスとしては https://cloud.spring.io/spring-cloud-stream-binder-kafka/spring-cloud-stream-binder-kafka.html#kafka-dlq-processing のあたり。 plugins { id 'org.springframework.boot' version '2.4.0' id 'io.spring.dependency-management…
リファレンスとしては https://docs.spring.io/spring-kafka/docs/current/reference/html/#dead-letters のあたり。consumerのエラー発生時に別のtopicにメッセージをpublishする。 plugins { id 'org.springframework.boot' version '2.3.4.RELEASE' id 'i…