Spring
はじめに 先日、Bootの2.7が出ましたね。今回もまとめておこうと思います。ここでは私が気になるところについてまとめて、ものによっては簡単に動かしてみたいと思います。すべての変更点に関しては そういえば昨年のSpring Oneの記憶なんですが、2.7.xは2系…
はじめに もうしばらく前ですがSpring Bootが11月9日に出てますね。 ちょっと仕事がバタバタしててモチベーションが出ず更新ができていなかったのですがまたゆっくりでも再開していきたいと思います。 このブログではすべての変更点を網羅するわけでは無く、…
はじめに Spring のWebFluxのドキュメント眺めていたら明示的なハンドラーの登録という項目が合ってなんとなく気になったので動かしてみたいと思います。 あとは、Java 16から入ってるRecordsクラスを試してみたい気持ちもあり。 ちなみに明示的なハンドラー…
はじめに 以前のブログでSkaffoldのローカルでの開発機能を試しました。もちろんSkaffoldはローカルでの開発をサポートするツールにとどまらず、テストやビルド、デプロイなどもサポートしています。 デプロイをおこない場合は環境ごとの変数をうまく切り替…
はじめに 今週(2020/5/20)にSpring Boot 2.5が出ましたが、どんなのが出たのかまとめて、なんとなく違いを把握おこうと思います。 基本的にはRelease Notesの内容を個人的に気になったところを少し深ぼって、自分の理解をまとめようと思うので、正確な情報は…
はじめに Kubernetes上でのSpring Bootのアプリのデバックを行なう際にPodのコンテナ内に応じて必要なコマンドとってきて、スレッドダンプやヒープダンプを取得してホストにコピーみたいなことをやっていたのですが、流石に面倒に感じはじめました。 そこで…
はじめに 分散トレーシングをやる際にJaegerというツールがあって、試してみたいと思って試せていなかったのやってみようと思います。今回はMinikubeで作ったクラスターにIstioをデプロイして、 その環境でのトレーシングを行ってみようと思います。 Istioに…
はじめに 前回に引き続き、Reactive Springのを読んでいて、Publihsherのエラーハンドリングを行なうためのメソッド群が紹介されていたので、実際に動かして試してみようと思います。(書籍で紹介されていないものも結構あったので) 実際にやってみる 環境…
はじめに Reactive Springを読んでいて、Flux.create()を使えば非Reactiveな非同期のイベントをReactiveのProducerにアダプトすることができるみたいなことが書かれていたので、実際に使って見て理解を深めたいと思います。 Flux.create()? Flux.create(Cons…
はじめに 先週、(2020/11/12)にSpring Boot 2.4が出ましたが、どんなのが出たのかまとめて、なんとなく違いを把握おこうと思います。 基本的にはリリースブログとRelease Notesの内容を個人的に気になったところを少し深ぼって、自分の理解をまとめようと思…
はじめに Spring REST DocsはSpringのRestFullアプリケーションにおけるWebAPIのインターフェースをドキュメント化する際のサポートをしてくれます。Spring MVC Testをもとにスニペットを自動生成し、Asciidoctorの形式で出力してくれます。 また、Spring Cl…
はじめに Router Functionを利用しているときのサーブレットフィルターとかインターセプターみたいなのってどうやってやるんだろって言うのが気になったのでちょっと調べてみます。 やってみる 環境 環境は以下の通り $ java --version openjdk 15 2020-09-1…
はじめに @ControllerAdvanceや@ExceptionHandler,を使ったグローバルなエラーハンドリングはやったことがあったのですが、そういえばRouterFanctionでやったことなかったなと思い試してみたいと思います。 やってみる ざっくりやること 大きく2つのやること…
はじめに てっきり、WebFluxのようなReactiveの場合、ハンドラーみたいなのはEventLoopとは別スレッドで動いているもんだとばかり思っていたのですが、どうやらそうではないようで(冷静に考えれば当たり前、と言うかそうしてしまったら意味がない)、悪気な…
はじめに 表題通りなんですが、よくやり方を忘れるのでメモしておきます。 手順 手順としては簡単で 1.WebTestClient.ResponseSpectのreaurnResultを呼び出し、FluxExchangeResultを受け取る。 2. FluxExchengeResultのgetResponseBody()を呼び出してFluxを…
はじめに Spring Cloud ContractはCDC(Consumer Driven Contract)をサポートするSpring Cloud傘下のプロジェクトです。 このプロジェクトはJavaのプロジェクトであることにより、初期の段階では、JVM言語以外での利用ができない状況でした。しかし、その場合…
はじめに AppCDS(Application Class Data Sharing)はCDS(Class Data Sharing)の拡張であり、Java 10以降で利用可能です。この機能を使うことで、アプリケーションでロードされるクラスを共有アーカイブから読み込むようになり、その起動時間を削減することが…
はじめに マイクロサービスで、E2Eテストを書く際にマイクロサービスが依存するマイクロサービスを立ち上げるのが面倒だったり、時には現実的では無い場合があるなぁと最近感じてます。 そんな中でConsumer Driven Contract(CDC)という考え方を耳にはさみ…
はじめに Mavenではプロジェクトをマルチモジュール構成に構築することは可能ですが、Spring Frameworkでもその機能を利用することが可能です。 この辺の機能はあまり触ったことがなかったので、触ってみたいと思ったがのがこのブログのモチベーションです。…
はじめに CircuitBraekrの実装はNetflixのNetfix Hystrixが有名です。Spirngでもいくつかの実装を組み込めるようになっており、Spring Cloud傘下のプロジェクトとして公開されています。Springで使えるCircuit Breakerの実装はいくつかありますが、その中で…
はじめに Rsocketとはアプリケーションレイヤーのプロトコルです。テキストベースのプロトコルであるHTTPとは違いバイナリベースでもデータの送受信を行います。また、RsocketはUDP、TCP、WebSocketなど複数のプロトコル上での実装があります。 その他にも以…