Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/maven-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,17 @@ on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
branches: [ master, develop-2.0 ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '11'
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Verify with Maven
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
* HTML属性(HTML_ATTRIBUTE)では `"` と `'` をそれぞれ `"` / `'` にエスケープします。
- `m:write` の `escapeXml=true` は、`script` / `style` / `textarea` を含む現在の出力コンテキストを判定してエスケープ方式を自動選択するようにしました。

#### システム環境・運用関連
- Specification の `.ser` キャッシュ(`pageSerialize`)機能を削除しました。
- `org.seasar.mayaa.engine.specification.serialize` 配下のAPI/実装を削除しました。
- JMXの `isSerializingEnabled` / `setSerializingEnabled` を削除しました。

## Mayaa 1.3.0 : 2026-02-22

### Changes
Expand Down
18 changes: 18 additions & 0 deletions doc/UPGRADING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
## 目次
- [1.3.x から 2.0.0 へのアップグレード](#13x-から-200-へのアップグレード)
- [Java 21 / Jakarta EE 10 への移行(必須要件変更)](#java-21--jakarta-ee-10-への移行必須要件変更)
- [シリアライズ機能の廃止](#シリアライズ機能の廃止)
- [依存ライブラリの変更](#依存ライブラリの変更)
- [JavaScript エンジン (Rhino) 1.7R2 → 1.9.1 へのアップグレード(動作変更)](#javascript-エンジン-rhino-17r2--191-へのアップグレード動作変更)
- [`DefaultLayoutTemplateBuilder.setupExtends` のシグネチャ変更(非互換)](#defaultlayouttemplatebuildersetupextends-のシグネチャ変更非互換)
Expand Down Expand Up @@ -60,6 +61,23 @@ Tomcat 9 以下、WildFly 26 以下、Spring Boot 2.x は対象外です。

---

### シリアライズ機能の廃止
Mayaaのテンプレート構造シリアライズ機能は、サーバ性能やメモリ制約が厳しかった時代の名残です。現代のサーバ・コンテナ環境ではテンプレートの都度ビルドが十分高速であり、ファイル永続化は推奨されません。今後は全てメモリキャッシュ運用が前提となります。

- **内部API メソッドシグネチャ変更**

(継承して拡張クラスを開発されている場合は非互換となります)
- `Serializable` 型を引数・戻り値に持つAPI(addInformalProperty, addVirtualProperty, PropertyConverter.convert など)は、すべて `Object` 型に変更されました。
- 既存の実装クラス・呼び出しコードで `Serializable` 型を前提としている場合は `Object` への修正が必要です。

- **設定項目 `pageSerialize` の廃止:**
- `ServiceProvider` 設定や mayaa.xml で利用されていた `pageSerialize` オプションは廃止されました。
- テンプレート構造の永続化(シリアライズ保存)は今後サポートされません。

- **JMXインタフェースからシリアライズ関連メソッドの廃止:**
- JMX経由でテンプレートやSpecificationをシリアライズ/デシリアライズする操作は削除されました。
- 監視・管理用途でJMXを利用している場合、該当メソッド呼び出しは削除してください。

### 依存ライブラリの変更

#### 追加された依存
Expand Down
3 changes: 1 addition & 2 deletions src-api/org/seasar/mayaa/builder/library/PropertySet.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,14 @@
*/
package org.seasar.mayaa.builder.library;

import java.io.Serializable;
import java.util.Iterator;

import org.seasar.mayaa.ParameterAware;

/**
* @author Masataka Kurihara (Gluegent, Inc.)
*/
public interface PropertySet extends ParameterAware, Serializable {
public interface PropertySet extends ParameterAware {

/**
* 例外やログのメッセージ用途として、ファイル中での行番号を取得する。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
*/
package org.seasar.mayaa.builder.library.converter;

import java.io.Serializable;

import org.seasar.mayaa.ParameterAware;
import org.seasar.mayaa.engine.specification.NodeAttribute;

Expand All @@ -39,6 +37,6 @@ public interface PropertyConverter extends ParameterAware {
* @param expectedClass 動的値の場合に期待する動的型。
* @return 変換値。
*/
Serializable convert(NodeAttribute attribute, String value, Class<?> expectedClass);
Object convert(NodeAttribute attribute, String value, Class<?> expectedClass);

}
3 changes: 1 addition & 2 deletions src-api/org/seasar/mayaa/cycle/Response.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
package org.seasar.mayaa.cycle;

import java.io.OutputStream;
import java.io.Serializable;

import org.seasar.mayaa.ContextAware;

Expand All @@ -25,7 +24,7 @@
* レスポンスのインターフェイス。
* @author Masataka Kurihara (Gluegent, Inc.)
*/
public interface Response extends Serializable, ContextAware {
public interface Response extends ContextAware {

/**
* コンテンツタイプの指定を行う。
Expand Down
3 changes: 1 addition & 2 deletions src-api/org/seasar/mayaa/cycle/ServiceCycle.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
*/
package org.seasar.mayaa.cycle;

import java.io.Serializable;
import java.util.Iterator;

import org.seasar.mayaa.ParameterAware;
Expand All @@ -32,7 +31,7 @@
* @author Masataka Kurihara (Gluegent, Inc.)
*/
public interface ServiceCycle
extends ParameterAware, Serializable {
extends ParameterAware {

/**
* アプリケーションレベルスコープ。
Expand Down
3 changes: 1 addition & 2 deletions src-api/org/seasar/mayaa/cycle/script/CompiledScript.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,12 @@
*/
package org.seasar.mayaa.cycle.script;

import java.io.Serializable;

/**
* コンパイル済みのスクリプトオブジェクト。
* @author Masataka Kurihara (Gluegent, Inc.)
*/
public interface CompiledScript extends Serializable {
public interface CompiledScript {

/**
* コンパイル可能およびリテラルを問わず、入力テキストを取得する。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
*/
package org.seasar.mayaa.engine.processor;

import java.io.Serializable;

import org.seasar.mayaa.engine.specification.PrefixAwareName;

/**
Expand All @@ -33,7 +31,7 @@ public interface InformalPropertyAcceptable
* @param name プロパティ名。
* @param property インフォーマルプロパティ。
*/
void addInformalProperty(PrefixAwareName name, Serializable property);
void addInformalProperty(PrefixAwareName name, Object property);

/**
* addInformalProperty()に渡されるインフォーマルプロパティに期待される型。
Expand Down
6 changes: 1 addition & 5 deletions src-api/org/seasar/mayaa/engine/processor/ProcessStatus.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,12 @@
*/
package org.seasar.mayaa.engine.processor;

import java.io.Serializable;

/**
* プロセッサ動作にて状態遷移を示すステータス。
*
* @author Koji Suga (Gluegent Inc.)
*/
public class ProcessStatus implements Serializable {

private static final long serialVersionUID = 473586899180314059L;
public class ProcessStatus {

private String _status;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
*/
package org.seasar.mayaa.engine.processor;

import java.io.Serializable;

import org.seasar.mayaa.cycle.script.CompiledScript;
import org.seasar.mayaa.engine.specification.PrefixAwareName;
Expand All @@ -24,7 +23,7 @@
* プロセッサに設定するプロパティのランタイムオブジェクト。
* @author Masataka Kurihara (Gluegent, Inc.)
*/
public interface ProcessorProperty extends Serializable {
public interface ProcessorProperty {

/**
* プロセッサのプロパティ名。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,12 @@

import java.util.Map;

import org.seasar.mayaa.engine.specification.serialize.NodeReferenceResolverFinder;

/**
* プロセッサツリーを操作する。
* @author Masataka Kurihara (Gluegent, Inc.)
*/
public interface ProcessorTreeWalker
extends NodeReferenceResolverFinder {
{

/**
* プロセッサ実行スコープに、登録スクリプト変数を提供する。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,15 @@
*/
package org.seasar.mayaa.engine.processor;

import java.io.Serializable;

import org.seasar.mayaa.builder.library.ProcessorDefinition;
import org.seasar.mayaa.engine.Page;
import org.seasar.mayaa.engine.specification.SpecificationNode;

/**
* テンプレート中のHTMLタグを処理するクラス。
* リクエストに対してステートレスなように実装しなければならない。ビルド済みのTemplateをシリアライズするためにプロセッサもシリアライズが必要。
* @author Masataka Kurihara (Gluegent, Inc.)
*/
public interface TemplateProcessor extends ProcessorTreeWalker, Serializable {
public interface TemplateProcessor extends ProcessorTreeWalker {

/**
* インスタンス生成処理の最後、プロパティをセットした後で呼ばれる。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
*/
package org.seasar.mayaa.engine.processor;

import java.io.Serializable;

import org.seasar.mayaa.engine.specification.PrefixAwareName;

/**
Expand All @@ -33,7 +31,7 @@ public interface VirtualPropertyAcceptable
* @param name プロパティ名。
* @param property プロパティ値。
*/
void addVirtualProperty(PrefixAwareName name, Serializable property);
void addVirtualProperty(PrefixAwareName name, Object property);

/**
* addVirtualProperty()に渡されるバーチャルプロパティに期待される型。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,9 @@
*/
package org.seasar.mayaa.engine.specification;

import java.io.Serializable;

/**
* @author Masataka Kurihara (Gluegent, Inc.)
*/
public interface NodeObject extends Serializable {
public interface NodeObject {
// marker interface.
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,14 @@
*/
package org.seasar.mayaa.engine.specification;

import java.io.Serializable;
import java.util.Iterator;

import org.seasar.mayaa.PositionAware;
import org.seasar.mayaa.engine.specification.serialize.NodeReferenceResolverFinder;

/**
* @author Masataka Kurihara (Gluegent, Inc.)
*/
public interface NodeTreeWalker extends PositionAware, Serializable, NodeReferenceResolverFinder {
public interface NodeTreeWalker extends PositionAware {

/**
* 親ノードの設定をセットする。
Expand Down

This file was deleted.

This file was deleted.

Loading
Loading