CLOVER🍀

That was when it all began.

Spring

Amazon SQSにメッセージを送受信するアプリケーションをSpring Bootで書いてみる(AWS SDK for Java v2、LocalStack利用)

これは、なにをしたくて書いたもの? 前に、Amazon SQS(といってもLocalStack上のものですが)を使ってFIFOキューを試してみました。 LocalStackでAmazon SQSのFIFOキューを試してみる(AWS SDK for Javaを使用) - CLOVER 今回は、常駐アプリケーションと…

Spring Statemachineのチョイス/ジャンクションを試してみる

これは、なにをしたくて書いたもの? 最近Spring Statemachineに関する勉強をちょっとずつしていましたが、そろそろこれでひと区切りにしようかなと思います。 今回は、チョイスとジャンクションを扱ってみます。 チョイス/ジャンクション チョイスとジャン…

Spring Statemachineのガードを試してみる

これは、なにをしたくて書いたもの? Spring Statemachineの、ガードというものを試してみたいなということで。 ガード ガードについては、用語集に以下のように記載されています。 A boolean expression evaluated dynamically based on the value of exten…

Spring SecurityのOAuth 2.0サポートで、Keycloak 19.0からログアウトする

これは、なにをしたくて書いたもの? ここまでSpring SecurityのOAuth 2.0サポートとKeycloak 19.0を使っていて、ログアウトをかなり適当にしていました。 こんな感じに、ログアウト用のURLとログアウト後に表示するURLを設定していただけですね。 @EnableWe…

Spring Statemachineのタイマートリガーを使ってみる

これは、なにをしたくて書いたもの? Spring Statemachineのトリガーには、イベントとタイマーの2種類があります。 これまでSpring Statemachineを使ってきた時にはイベントトリガーしか扱ってこなかったので、タイマートリガーを試してみたいなと思います。…

Spring SecurityのOAuth 2.0サポートで、Keycloak 19.0のRealmロールを使った認可を試す

これは、なにをしたくて書いたもの? 前に、Spring SecurityでKeycloakのクライアントスコープを使った認可を試してみました。 Spring SecurityのOAuth 2.0サポートで、Keycloak 19.0のクライアントスコープを使った認可を試す - CLOVER 今度は、Realmロール…

Spring Statemachineのアクションを試す

これは、なにをしたくて書いたもの? 以前に、Spring Statemachineをとりあえず動かしてみました。 Spring Statemachineを試してみる - CLOVER 今回は、「アクション」というものを扱ってみたいと思います。 Spring Statemachineにおけるアクション アクショ…

Spring SecurityのOAuth 2.0サポートで、Keycloak 19.0のクライアントスコープを使った認可を試す

これは、なにをしたくて書いたもの? 前に、Spring SecurityのOAuth 2.0サポートを使って認証を試してみました。 Spring SecurityのOAuth 2.0サポートでKeycloak 19.0を使った認証を試す - CLOVER 今度は、クライアントスコープを使った認可を簡単に試してみ…

Spring SecurityのOAuth 2.0サポートでKeycloak 19.0を使った認証を試す

これは、なにをしたくて書いたもの? 先日、WildFlyベースからQuarkusベースになったKeycloakをインストールしてKeycloak自体にログインするところまでやってみました。 Ubuntu Linux 20.04 LTSにKeycloak 19.0をインストールする - CLOVER 今回は、Spring S…

Spring Statemachineを試してみる

これは、なにをしたくて書いたもの? 少し、ステートマシンについて調べる機会がありまして。 Spring Statemachine Spring Statemachineのプロジェクトページは、こちら。 Spring Statemachine Spring Statemachineの現在のバージョンは3.2.0で、ドキュメン…

Spring BatchでItemProcessorを複数適用してみる

これは、なにをしたくて書いたもの? Spring Batchで、複数のItemProcessorを使うパターンをちょっと試しておこうかなと。 CompositeItemProcessor 結論を言うと、CompositeItemProcessorを使うことになります。 ドキュメントとしてはこちらに載っています。…

Spring BatchのトランザクションがRuntimeExceptionでもException(検査例外)でもロールバックすることを確認する

これは、なにをしたくて書いたもの? Spring Frameworkでのトランザクション管理といえば、宣言的トランザクションを使うことが多いでしょう。 Data Access / Transaction Management / Declarative Transaction Management 一方で、宣言的トランザクション…

Spring Batch × Spring Integration(Spring Batch Integration)を試す

これは、なにをしたくて書いたもの? Spring Batchのドキュメントを見ていて、Spring Integrationと組み合わせられそうだったので、ちょっと試してみようかなと。 Spring Batch Integration Spring Batchと、Spring Integrationの組み合わせについては、こち…

Spring Boot Actuatorでデータストア(JDBC、Redis)を含んだヘルスチェックを行う

これは、なにをしたくて書いたもの? Spring Boot Actuatorのヘルスチェックを行う時に、一緒にデータストアなどのヘルスチェックも行ってくれるようなので、 ちょっと見てみました。 Spring Boot Actuator/Health Information そもそも、Spring Boot Actua…

Spring Boot(JobLauncherApplicationRunner) × Spring BatchとJobParametersIncrementerの動作を確認してみる(+JsrJobParametersConverter)

これは、なにをしたくて書いたもの? Spring BootとSpring Batchを合わせて使っている時の、JobParametersIncrementerの立ち位置がちょっと気になりまして。 JobParametersIncrementer JobParametersIncrementerについては、こちらに書かれています。 Config…

Spring IntegrationのJDBCサポートを使って、データベースポーリングを試してみる

これは、なにをしたくて書いたもの? Spring Integrationで、JDBCを使ったデータベースポーリングをサポートしているというので、ちょっと試してみました。 Spring IntegrationのポーリングとJDBCサポート Spring Integrationでは、ポーリングの機能がありま…

Spring IntegrationのGatewayを試す

これは、なにをしたくて書いたもの? 少し前に、Spring Integrationを試してみました。 Spring Integrationを試してみる - CLOVER 他にドキュメントを読んでいて、Gatewayを使ってみないと全体のイメージが掴めない気がするので、1回試してみようかなと。 Ga…

Spring Batchで、Bean ValidationとItemのスキップの動作を確認する

これは、なにをしたくて書いたもの? Spring BatchとBean Validationを組み合わせて、Itemのバリデーションをしたり、NGになったItemをスキップできたりするというので ちょっと試してみようかなと。 Spring BatchとBean Validation Spring BatchでBean Vali…

はじめてのSpring Batch

これは、なにをしたくて書いたもの? Spring Batchについて、ちょっと見ておこうかな、ということで。 Spring Batch Spring Batchのページはこちら。 https://spring.io/projects/spring-batch ドキュメント。 Spring Batch - Reference Documentation まず…

Spring Web MVCアプリケーションのテスト方法を見ていきたい(+モックでBeanのテスト)

これは、なにをしたくて書いたもの? Spring Web MVCのテスト方法を、ドキュメントをしっかり眺めて見たことないなぁと。 時々扱っている時もかなり雰囲気で使っていたので、ちょっと見てみることにしました。 あと、オマケでモック(Mockito)でふつうにBea…

Spring Boot/Spring Frameworkのテストに関するドキュメントをざっくり眺めてみる

これは、なにをしたくて書いたもの? Springに関するテストの話について、あまり知らないのでちょっと見ておこうかな、と思いまして。 さらっと、Springのテストに関するドキュメントを眺めてみます。 Springのテストに関する話 今回扱うのは、Spring Bootの…

Spring Integrationを試してみる

これは、なにをしたくて書いたもの? Spring Integrationを少し試しておきたいな、と思いまして。 Spring Integration Spring Integrationは、EIP(Enterprise Integration Patterns)をSpringで実現するためのものです。 Extends the Spring programming mo…

Springの各プロジェクトに、サポート期間が掲載されるようになっていたという話

いつからかわかりませんが、Springの各プロジェクトのにサポート期間がわかりやすく掲載されるようになっていたという話です。 たとえば、Spring Frameworkを例にしてみます。プロジェクトのトップページにある、「SUPPORT」を選択してみます。 すると、「リ…

AWS Serverless Java Container × Spring Bootで、LocalStackのAmazon API Gateway+AWS Lambdaにデプロイする

これは、なにをしたくて書いたもの? AWSにServerless Java Containerというものがあるのに気づいたので。 GitHub - awslabs/aws-serverless-java-container: A Java wrapper to run Spring, Jersey, Spark, and other apps inside AWS Lambda. サーバレスで…

Spring Cloud Function AWS AdapterとLocalStackを使って、Amazon API Gateway+AWS Lambdaを構成してみる

これは、なにをしたくて書いたもの? 前にSpring Cloud Function AWS Adapterを使って、AWS Lambda関数をLocalStackにデプロイしてみました。 Spring Cloud Function AWS AdapterでAWS Lambda関数を作成して、LocalStackにデプロイしてみる - CLOVER Spring …

Spring Cloud Function AWS AdapterでAWS Lambda関数を作成して、LocalStackにデプロイしてみる

これは、なにをしたくて書いたもの? 以前に、Spring Cloud Functionを単体で試してみました。 Spring Cloud Functionを試してみる - CLOVER 今回は、Spring Cloud FunctionのAWS Adapterを使ってアプリケーションを作成し、LocalStack上にAWS Lambda関数 と…

Spring BootのGraceful Shutdownを試す

これは、なにをしたくて書いたもの? Spring Boot 2.3から追加されている、Graceful Shutdownが前々から気になっていたので、ちょっと試してみようと 思います。 Spring Boot 2.3.0 available now Graceful Shutdown Spring BootのGraceful Shutdownは、こち…

Spring Frameworkで、REQUIREDな伝播レベルのトランザクションがネストした時の例外の扱いを確認する

これは、なにをしたくて書いたもの? Spring Frameworkを使っていると、トランザクション管理を@Transactionalアノテーションを使って宣言的に書いていることが 多いと思います。 @Transactionalを使った場合、例外(デフォルトではRuntimeExceptionのサブク…

Spring Boot × Bean Validationで、自作Validator+メッセージファイルを組み込む

これは、なにをしたくて書いたもの? Spring Boot(Spring Framework)を使って、Bean Validationのメッセージを変更したりするのをどうやるのかをよく覚えて いなかったので、確認してみることに。 結局、Bean Validationの復習的な感じになりましたけど。 …

Spring Boot/Spring Frameworkで、プロパティファイルを読み込む(JavaConfig)

これは、なにをしたくて書いたもの? Spring Frameworkで、プロパティファイルをJavaConfigにマッピングする場合、あとProfileも含めて…という時は どうするんだっけ?というのをよく忘れるので。 メモしておこうかなと。 Spring Frameworkで、プロパティフ…