MicroProfile RestClient 3.0の確認と小技機能の紹介
今回は前回,前々回の続きとしてHelidon 3.0から使えるようになったMicroProfile RestClientの機能を紹介します。ただしMicroProfile RestClientは差分となる機能が多くないため、その差分を簡単に紹介した後に代わりとして以前のバージョンからあった小技的な機能を併せて紹介します。なお、今回の記事は以前紹介した「らくらくMicroProfile RestClient」の理解を前提にしています。まだの方はそちらから読んでいただければと思います...
記事を読むJakarta EE 10への準備 – まずは9.1へのバージョンアップ
2022/9/22に待望のJakarta EE 10がリリースされました。Jakarta EE 10に正式対応したプロダクト[1]は現時点でまだありませんが、今後、続々と対応が発表されてくると思います。 対応プロダクトが揃ってきた頃にはバージョンアップを検討されると思いますがJakarta EE 10の一つ前のJakarta EE 9/9.1[2]にはパッケージ名がjavax.*からjakarta.*へ変更される、いわゆる"破壊的な変更"が含まれています...
記事を読むMicroProfile OpenAPI 3.0の新機能と既存機能の比較
Helidon 3.0からMicroprofile OpenAPI 3.0(MP OpenAPI 3.0)が使えるようになりました。今回はMP OpenAPI 2.0からMP OpenAPI 3.0までに取り入れられた新機能を紹介します。今回紹介する新機能はそれほど多くなく、それだけでは少し寂しいため、新機能と既存機能の比較として前回紹介できなかった便利な機能も併せて紹介します...
記事を読むMicroProfile Healthの機能と利用
MicroProfileの機能を紹介していくシリーズの今回はMicroProfile Health(MP Health)です。MP Healthはアプリケーションの「生きてますか?」を確認するヘルスチェックに関する仕様をまとめたものです。ヘルスチェックは機能としては小さく地味ですが、マイクロサービスのような分散システムでアプリケーションを正常に運用にするためには欠かせない要素です。今回はそんなヘルスチェックに対しMP Healthが規定、提供する仕様や機能を紹介していきます...
記事を読むMicroProfile Config 3.0へのキャッチアップ
Helidon 3.0がリリースされMicroProfile5.0準拠となり、ついにHelidonでもMicroProfile Config 3.0(MP Config 3.0)の機能が使えるようになりました。そこで今回は前回紹介できなかった2.0から3.0までに取り入れられた便利な機能をその差分として紹介します。このため、今回の記事は以前紹介した「お手軽便利MicroProfile Config」の理解を前提にしています。まだの方はそちらから読んでいただければと思います...
記事を読む初心者のためのJavaプログラミング再学習(その1 基本データ型とオブジェクト型)
はじめに # 「初心者のためのJavaプログラミング再学習」と題して、初心者の方向けにJavaプログラミングの解説シリーズを立ち上げました。Javaプログラミングを網羅的にカバーするのではなく、新人研修等で躓く受講者が多い部分、一度勉強したけど理解が難しい部分に絞って執筆する予定です。どちらかといえば、厳密な理解よりも、イメージを掴んでもらうことを重視した内容です。 初回は「基本データ型とオブジェクト型」について解説します...
記事を読む今さら聞けないMaven – コンテナも一緒にビルドしたい。テスト実行前にコンテナを起動したい
Javaの開発ではMavenなどのビルドツールでビルドやテストの手順を定義し実行するのが一般的ですが、コンテナも一緒にビルドしたいなぁと思うときはありませんか?また、マイクロサービスの普及に伴ってREST通信を行う処理が多くなってきましたが、REST通信部分のテストは手間が掛かるので、いっその事、スタブにコンテナを使いたいけど、テスト実行前にコンテナを起動するにはどうしたらいいんだろう?など...
記事を読む今さら聞けないMaven - JUnit5のテストクラスがなぜか実行されない
JUnit5のテストクラスをEclipseなどのIDEからは問題なく実行できるのにMavenコマンドから実行するとなぜかテストクラスが検出されず実行されなくなる。そんなお困りの事象と対処方法について今回は説明します。とりあえずどうすればいいかだけ教えて!という方は対処からどうぞ。 --> 今さら聞けないMavenMavenが誕生してから早20年ですが、開発で使っていると未だにハマってしまうことやコレってどうやるのだろう?と思うことがあったりします...
記事を読むDTOとエンティティの変換コードをfluentなワンライナーで書いてみる
昨今のJavaアプリケーションではレイヤーアーキテクチャにしろ、Clean Architectureにしろ、DTOとエンティティを変換するコードが多く登場します。今回は冗長となりがちなDTOとエンティティの変換コードをラムダとインタフェースを使ってfluent(流暢)なワンライナーで書けるようにする小ネタを紹介します。 変更前のちょっと残念な変換コード # 外部からの入力などをDTOで受け取り、それをエンティティに変換してサービスに渡す...
記事を読む第4回 ドメイン層の実装とサービスの完成
庄司です。 シリーズ4回目は Spring Integration を使うドメインイベントの発行 (publish) について説明します。 ドメイン駆動設計 (DDD - Domain-driven design) # 説明の前に「Spring Boot と Apache Camel の統合」の議論を受けて冬眠カプセルを冬眠ポッド (hibernation pod) へ、船員を旅行者 (passenger) へとユビキタス言語の変更等イベントストーミングの修正がありました...
記事を読む