※ 本記事は、Ryan Eberhardによる”Running Spring 6 applications within WebLogic Server 15.1.1
“を翻訳したものです。

2026年1月28日


Spring Framework 6.xを採用している場合、Oracle WebLogic Server 15.1.1はエンタープライズ・デプロイメントの優れたターゲットです。これは、Spring Framework 5.xやOracle WebLogic Server 12.2.1.4、14.1.2.0などの旧バージョンのSpringおよびWebLogic Serverから既存のアプリケーションをアップグレードする場合、または新しいアプリケーションを作成する場合に当てはまります。WebLogic Serverは、アプリケーション・デプロイメントがセキュアで、コンプライアンスに準拠し、互換性があることを保証します。Oracleは、10月にJakarta EE 9.1およびJava SE 17および21をサポートするWebLogic Server 15.1.1のリリースを発表しました。

Spring FrameworkとHibernateのバージョン

Spring Framework 6.xアプリケーションでは、特定のSpring Frameworkコンポーネント、またはWebLogic Server 15.1.1で通常サポートされないJakarta EE 10 APIに依存するSpring以外のサードパーティ・ライブラリを使用できます。これらのサード・パーティ・ライブラリに依存するアプリケーションをサポートするために、WebLogic Serverは、WebLogic Server 15.1.1で一部のJakarta EE 10 APIのサポートを提供します。

たとえば、Hibernate 6.6.xはJakarta Persistence 3.1に依存し、これはJakarta EE 10に含まれるJakarta Persistence仕様のバージョンです。

WebLogic Server 15.1.1では、Jakarta Persistence 3.1のサポートが追加され、このバージョンのJakarta Persistenceを必要とするHibernate 6.6.xおよびその他のSpring Frameworkコンポーネントがサポートされるようになりました。お客様は、サポートをJakarta Persistence 3.1を含めるように設定することも、Jakarta Persistence 3.0を含むJakarta EE 9.1の厳格準拠モードを有効化することもできます。

OpenRewriteレシピ

Oracleには、WebLogic Server 15.1.1にデプロイするアプリケーションをアップグレードするためのツールが用意されています。これらのツールでは、OpenRewriteを利用します。

お客様は、Jakarta EE 9.1からjakarta.* APIを使用する翻訳を実行したり、Spring 6.xおよびHibernate 6.6.x APIに更新したり、Java SE 8または11からJava SE 17または21への変更を考慮したり、デプロイメント記述子をアップグレードしたりできるように、柔軟で構成可能なOpenRewriteレシピを使用して、アプリケーションを自動的にアップグレードします。

これらのレシピの詳細は、Oracle WebLogic Server 15.1.1の自動アプリケーション・アップグレードに関するブログを参照してください。

Spring Framework PetClinic

次のステップでは、Spring Framework PetClinicサンプル・アプリケーションを更新してWebLogic Serverにデプロイする方法を示します。ここで説明する更新は、OpenRewriteレシピを使用して自動化できます。これには、PetClinicアプリケーションに固有の追加レシピが含まれます。

ステップ1: 公式のspring-petclinic GitHubプロジェクトのクローンを作成

git clone https://github.com/spring-petclinic/spring-framework-petclinic.git

cd spring-framework-petclinic

ステップ2: デフォルト・サーブレット・ハンドラの更新

ファイル src/main/resources/spring/mvc-core-config.xml を編集して、<mvc:default-servlet-handler /> を <mvc:default-servlet-handler default-servlet-name=”DefaultServlet”/> に置き換えます。

ステップ3: Jakarta Standard Tag Library 3.0を使用するための構成を含める

次の内容を含む新しいファイル src/main/webapp/WEB-INF/tags/implicit.tld を作成します:

<!--?xml version="1.0" encoding="UTF-8"?-->

<taglib version="3.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-jsptaglibrary_3_0.xsd">

    <tlib-version>1.0</tlib-version>

    <short-name>implicit</short-name>

</taglib>

ステップ4: Build

mvn clean package -DskipTests

ステップ5: WebLogic Server 15.1.1へのデプロイ

アプリケーションは追加の構成なしでWebLogic Serverにデプロイでき、WARファイルのビルド後に target/petclinic.war が見つかります。

要点

WebLogic Serverは、Spring Framework 6.xやHibernate 6.6.xを含むモダンなアプリケーションフレームワークを積極的にサポートしています。主な目標は、新しいフレームワーク・バージョンとその依存関係にシームレスにアップグレードできるようにすることです。アプリケーションのセキュリティ、コンプライアンス、互換性を確保するため、最新のフレームワークおよびJakarta APIに依存するWebLogicアプリケーションのアップグレード向けの新しい自動化ツールと移行ガイドを提供します。この分野における最新の更新情報をお知らせする今後のブログ記事にご注目ください。