Java

【SpringBoot】スケジュール機能の有効無効を環境変数またはプロパティ値で切り替える

現状 今作っているアプリは SpringBootのスケジュール機能で バッチ処理を実行している。 (別に作ると面倒だったので...) 問題 kubernetesで負荷分散のために複数Podで動かすとそれぞれでスケジュール機能が動いてしまう。 スケジュール機能は1台だけで動か…

Kotlin+SpringBootでDB接続先を環境変数から取得したい+環境ごとでapplication.propertiesを変えたい

kotlin+SprintBootのプロジェクトをkubernetesのPodで動かすため、 環境変数でDBの接続先を変えれるようにしたい DB接続先の定義はapplication.propertiesに記載している。 調べてみるとこのファイルをちょっと手を加えるだけでよいことがわかった。 ${<環境…

SpringBootにSwagger(OpenAPI)を導入

Rest APIの一覧を把握したくて、Swaggerを導入した。 設定は簡単だった。 build.gradle.ktsに以下を追加しただけ dependensies { ... implementation("org.springdoc:springdoc-openapi-ui:1.5.5") ... } これでSpringBootを起動して http://localhost:8080/…

テスト実行時に読み込むApplication.propertiesを切り替える

テスト用DBに接続して実行したい場合に、使える。 やり方 テストクラスに@Activeprofile(プロファイル名)を指定 application-プロファイル名.propertiesファイルを作成 テストクラスに@Activeprofile(プロファイル名)を指定 @ActiveProfiles("test") class T…

windows環境でのみDBテストデータが文字化けする

SpringBootでgradleでビルド実行するアプリケーションを開発しているが、 Windows環境でのみ、DBUnitで読み込んだテストデータが文字化けして、 期待値と一致せずテストエラーになってしまう。Macじゃおきない。 ずっと悩んでたけど、解決方法がわかった。 …

Spring Security

仕事でSpring Bootを使ったWebシステムを構築している。 サーバサイドはREST APIを返す構成となっているが、社内向けはSSOでログインされたユーザーのみが呼び出せる仕様。 そのため、Spring Securityを使用して認証されているかをチェックするのだが、そも…