Immutableなオブジェクト以外でもInアノテーションによりinjectされる可能性がある限り、そのオブジェクトに対する状態変更は@Outアノテーションを記述しなくても保持されるべき。
現在の振る舞い:
public class HogePage {
@In(scopeClass=SessionScope.class)
public void setMutableObject(MutableObject obj)
public void _post_valueChange()
{ _obj.setValue("new Value"); } ...
}
セッションに上記のようなPageクラスのオブジェクトがある場合、アクションValueChangeによって行われたinjectされたオブジェクトそのものに対する変更が、セッション上のオブジェクトには反映されない。
この修正が不可能な場合は、少なくともこの振る舞いをドキュメント化する必要があると思われる。