JavaEE

Jakarta EE Platform 11 変更点まとめ(2023年11月現在)

Jakarta EE 11 における変更の概要 Jakarta Annotations 2.1 -> 3.0 Jakarta Authentication 3.0 -> 3.1 Jakarta Authorization 2.1 -> 3.0 Jakarta Concurrency 3.0 -> 3.1 Jakarta Contexts and Dependency Injection 4.0 -> 4.1 Jakarta Config 1.0 Jakar…

Servlet で forward した後に元のリクエストURIを取得する

forward 前のリクエストURI取得 Forwarded Request Parameters パスの取得 forward 前のリクエストURI取得 HttpServletRequest.getAttribute() から取得できる。 HttpServletRequest request = //... String uri = (String) request.getAttribute("javax.ser…

2022年10月における次期メジャーリリース Jakarta EE 11 の方向性

はじめに Unified Platform(統一されたプラットフォーム) What? Why? コメント Add New Specifications(新しい仕様の導入) What? Why? コメント Leverage Latest Java(最新のJavaを活用) What? Why? コメント Enable Community Innovation(コミュニティ・イ…

Jakarta EE 10 変更内容総まとめ

はじめに Jakarta Contexts and Dependency Injection 3.0 -> 4.0 Jakarta Persistence 3.0 -> 3.1 Jakarta Annotations 2.0 -> 2.1 Jakarta Expression Language 4.0 -> 5.0 Jakarta Faces 3.0 -> 4.0 Jakarta JSON Binding 2.0 -> 3.0 Jakarta JSON Proces…

Jakarta EE 10 - Jakarta Security 3.0 およびその他変更内容まとめ

Jakarta Security 3.0 Jakarta Authentication 3.0 Jakarta Server Pages 3.1 Jakarta Activation 2.1 Jakarta Authorization 2.1 Jakarta Connectors 2.1 Jakarta Interceptors 2.1 Jakarta Mail 2.1 Jakarta Messaging 3.1 blog1.mammb.com Jakarta Securi…

Jakarta EE 10 - Jakarta Concurrency 3.0 変更内容まとめ

はじめに アノテーションによるリソース定義 CDI ビーンのメソッド非同期実行 並列ストリーム操作 Trigger によるスケジュール実行の強化 その他の変更 blog1.mammb.com はじめに Jakarta EE 10 で Jakarta Concurrency は 2.0 から 3.0 へバージョンアップ…

Jakarta EE 10 - Jakarta WebSocket 2.1 変更内容まとめ

はじめに Web アプリケーションで WebSocketエンドポイントにプログラムコードでリクエストをディスパッチ可能となった Websocketクライアントのクライアント証明の設定が可能となった JPMS モジュールディスクリプタの追加 その他の変更点 blog1.mammb.com …

Jakarta EE 10 - Jakarta Servlet 6.0 変更内容まとめ

はじめに リクエスト/接続の一意な識別子が取得可能となった セッションクッキーへの汎用的な属性サポート追加 HttpServlet.doHead() のデフォルト実装のレスポンス変更 その他の変更内容 blog1.mammb.com はじめに Jakarta EE 10 で Jakarta Servlet は 5.0…

Jakarta EE 10 - Jakarta RESTful Web Services 3.1 変更内容まとめ

はじめに Java SE 環境における JAX-RS アプリケーションブートストラップ マルチパート・フォーム用APIの標準化 ContextResolver その他の変更点 module-info.java blog1.mammb.com はじめに Jakarta EE 10 で Jakarta RESTful Web Services は 3.0 から 3.…

Jakarta EE 10 - Jakarta Batch 2.1 変更内容まとめ

はじめに JobOperator の CDI インジェクションサポート @BatchProperty のメソッドインジェクションサポート @BatchProperty の プリミティブ・ラッパー型への自動変換 job listeners 要素のプロパティ定義がドキュメント化された JPMS 用 module-info.java…

Jakarta EE 10 - Jakarta Standard Tag Library 3.0 変更内容まとめ

はじめに タグライブラリ URI を URN への変更 JPMS 用のモジュールインフォクラスの追加 その他の変更 blog1.mammb.com はじめに Jakarta EE 10 で 2.0 から 3.0 へバージョンアップする Jakarta Standard Tag Library の変更点のまとめです。 1 記事にする…

Jakarta EE 10 - Jakarta JSON Processing 2.1 変更内容まとめ

はじめに APIとAPI実装でプロジェクトが分離された java.lang.Number から JsonValue を取得するAPI追加 JsonParser から最後のイベントを取得可能となった キー重複時の処理を設定可能となった JsonObjectBuilder メソッドの型境界の訂正 仕様の明確化 Json…

Jakarta EE 10 - Jakarta JSON Binding 3.0 変更内容まとめ

はじめに polymorphic types サポートの追加 @JsonbCreator パラメータのオプショナル化 @JsonbTypeDeserializer, @JsonbTypeAdapter をパラメータに付与可能となった null 値の JsonValue.NULL_VALUE へのデシリアライズ @JsonbProperty.nillable() の非推…

Jakarta EE 10 - Jakarta Faces 4.0 変更内容まとめ

拡張子なしの自動マッピング @ClientWindowScoped アノテーションの追加 JSF から Faces への変更 XML ネームスペースの変更 Java で Facelet を作成するためのAPI追加 その他のAPIの変更 タグとタグ属性の変更 廃止された仕様 blog1.mammb.com 拡張子なしの…

Jakarta EE 10 - Jakarta Expression Language 5.0 変更内容まとめ

はじめに 関数インターフェースを受け取るメソッドの呼び出しが可能となった インターフェースのデフォルトメソッドにプロパティアクセス可能となった jakarta.el.MethodExpression から MethodReference を取得可能となった Java モジュールシステムのため…

Jakarta EE 10 - Jakarta Annotations 2.1 変更内容まとめ

はじめに jakarta.annotation.Nonnull / Nullable の追加 jakarta.annotation.Priority アノテーション適用範囲の拡大 その他の変更の無いアノテーション blog1.mammb.com はじめに Jakarta Annotations (旧 Common Annotations) は、他の仕様で使用可能な共…

Jakarta EE 10 - Jakarta Contexts and Dependency Injection 4.0 変更内容まとめ

はじめに CDI Lite と CDI Full の仕様分割 Build Compatible Extensions bean-discovery-mode 属性のデフォルトが annotated となった Startup イベントと Shutdown イベント Handle からBeanのメタデータを簡単に参照できるようになった ステレオタイプに …

Jakarta EE Security API の始め方

はじめに Security API とは AuthenticationMechanism CustomFormAuthenticationMechanismDefinition IdentityStore API DatabaseIdentityStoreDefinition 認証テーブルの作成 まとめ blog1.mammb.com はじめに Java EE 8 で導入された Security API(JSR-375…

需要はほぼ無い EntityGraph からの Subgraph 取得

はじめに EntityGraph からの Subgraph 取得 はじめに JPA の EntityGraph を使うことで、クエリーで取得する対象をカスタマイズすることができます。 同じ Entity から様々なデータの見せ方が必要で、パフォーマンスの為に最小限のデータセットのみを取得し…

Jakarta EE(Java EE) のリソース定義方法まとめ

はじめに アプリケーション・コンポーネントのネームスペース リソースの定義 データソース リソース メッセージング・コネクタ・ファクトリ リソース メッセージング・デスティネーション リソース メール・セッション リソース コネクション・ファクトリ …

Jakarta EE Spec 一覧

はじめに Jakarta EE バージョン 仕様一覧 はじめに Java EE から Jakarta EE への変更以降の仕様一覧まとめです。 Java EE8 以前の仕様については以下を参照してください。 blog1.mammb.com Jakarta EE バージョン バージョン リリース日 APサーバ 備考 Jak…

商用環境向けPayara サーバで行うべき設定

はじめに Production Ready Domain payaradomain と domain1 の違い その他の変更/追加すべき設定 ヒープサイズ Server header と X-Powered-By header の削除 docroot 設定 と エラーページ 各種ログ設定 タイムアウト設定 JVM の固定 まとめ はじめに Paya…

Quarkus CLI による Panache CRUD アプリケーションの作り方

はじめに プロジェクトの作成 開発モードの起動 Entity を作成する JAX-RS リソースを作成する Continuous Testing CRUD メソッドの追加 OpenAPI と Swagger UI まとめ blog1.mammb.com はじめに 今回は、Quarkus CLI を使ったアプリケーション作成の流れに…

Quarkus 2.2.0 で変更された RESTEasy Reactive のスレッド割当ルール

RESTEasy Reactive とは RESTEasy Reactive は Quarkus 1.11 で追加された拡張です。RESTEasyReactive では、 JAX-RS API を利用したまま、リクエストをイベントループ(Quarkus ではこれを I/Oスレッドと呼びます)で処理することでスループットを大幅に向上…

開発を加速する Quarkus 2.0 で追加された Quarkus CLI

はじめに Quarkus CLI のインストール Windows 環境での Quarkus CLI のインストール Quarkus CLI コマンド プロジェクトの作成 Extension の追加 開発モードで起動 プロジェクトビルド コンテナイメージの作成 まとめ blog1.mammb.com はじめに Quarkus 2.0…

JPA の EntityGraph は、@MappedSuperclass が考慮されていない

EntityGraph とは @MappedSuperclass のフィールドは指定できない EntityGraph の API バグと回避法 EntityGraph とは JPA 2.1 で標準化された、Entity のフェッチ戦略として EAGER / LAZY を個別に設定できる EntityGraph。 EntityGraph<Employee> graph = em.createE</employee>…

Quarkus 関連記事の一覧

リリースノート Quarkus リリースノート一覧 導入編 Quarkus による初めてのアプリケーション作成(Quarkus 0.23) Quarkus を Gradleではじめる(Quarkus 1.0) Quarkus CLI の使い方(Quarkus 2.2) 活用編 Quarkus によるJPAアプリケーション作成(Quarkus 0.23)…

Payara(Glassfish)のライブラリフォルダとクラスローダの関係

要約 各クラスローダの役割 Bootstrap class loader Extension class loader Public API class loader Common class loader Connector class loader LifeCycleModule class loader Applib class loader Archive class loader add-library Logback 利用時の注…

Gradle で始める Payara 5 〜 CDI・JPA 〜

はじめに データソースの登録 CDI の有効化 JPA の導入 Entity の作成 リポジトリの作成 サービスの作成 リソースの作成 アプリケーションの実行 まとめ はじめに 前回作成した、 blog1.mammb.com に続き、データベース処理を追加してみましょう。 データソ…

Gradle で始める Payara 5

はじめに プロジェクトの作成 Payara を組み込みモードで動かす JUL(Java Util Logger) から SLF4J への変更 buildSrc の追加 war モジュールの作成 Hello サーブレット アプリケーションのデプロイ Hello JAX-RS まとめ はじめに いまさら何故? という気は…