SeasarWiki

Seasar2の互換性に関する情報

この文書では、既存のSeasar2(s2-framework、s2-extension、s2-tiger)を アップグレードする際の注意点を記します。

バージョンAからバージョンBにアップグレードする場合には、バージョン間に 記載されている注意点に従って作業を行なえば良いようになっています。

Seasar2? バージョン2.4.48

2.4.47 からの重要な変更はありません.

S2-Tiger

  • S2JUnit4がバンドルしているJUnit4.4に加えてJUnit4.11との組み合わせでも動作するようになりました。

Seasar2? バージョン2.4.47

2.4.46 からの重要な変更はありません.

Seasar2? バージョン2.4.46

2.4.45 からの重要な変更はありません.

Seasar2? バージョン2.4.45

2.4.44 からの重要な変更はありません.

Seasar2? バージョン2.4.44

S2-Tiger

  • S2JDBC で Oracle を使用する場合、@Temporal(TemporalType.TIMESTAMP) で注釈された java.util.Date 型および java.util.Calendar のプロパティは Oracle 固有の DATE 型として扱うようになりました。従来同様 Oracle の TIMESTAMP 型として扱いたい場合は、s2jdbc.dicon で OracleDialect の useOracleDate プロパティに false を設定してください。

Seasar2? バージョン2.4.43

2.4.42 からの重要な変更はありません.

Seasar2? バージョン2.4.42

  • 同梱する SVNkit のバージョンを 1.2.0.4949 から 1.3.2-1 へ更新しました.

S2JDBC-Gen

  1. S2JDBC-Gen で Subversion 連携を使用する場合:
    1. svnkit-1.2.0.4949.jar を svnkit-1.3.2-1.jar に置き換えてください.

Seasar2? バージョン2.4.41

2.4.40 からの重要な変更はありません.

Seasar2? バージョン2.4.40

  • 同梱する EasyMock のバージョンを 2.2 から 2.4 へ更新しました.
  • EasyMock Class Extension 2.4 および CGLIB 2.1.3を同梱しました.

S2-Tiger

  1. S2Unit および S2Unit4 で EasyMock サポートを使用する場合:
    1. easymock-2.2.jar を easymock-2.4.jar に置き換えてください.
  2. S2Unit および S2Unit4 の EasyMock サポートで EasyMock Class Extension を使用する場合
    1. easymockclassextension-2.4.jar および cglib-nodep-2.1_3.jar をクラスパスに追加してください.

S2JDBC-Gen

  • Gen-SqlFileTestタスクを使用していて、かつ
    • パラメータentityPackageNameを使用している場合:
      • entityPackageNameをsubPackageNameに変更してください。
    • パラメータentityPackageNameを使用していない場合:
      • subPackageNameパラメータを追加し、値に"entity"と指定してください。

Seasar2? バージョン2.4.39

  • S2BeanUtils で Map へ変換する場合,変換元のプロパティに java.util.Date およびそのサブクラスがあると,2.4.31 以降はデフォルトで String に変換されましたが,2.4.39 からは変換されません.JavaBeans へ変換する場合で変換先のプロパティが String の場合はデフォルトのフォーマットで変換されます (2.4.38 以前と同じ).Map へ変換する際に java.util.Date およびそのサブクラスを String に変換したい場合は dateConverter() 等で明示的に指定してください.

Seasar2? バージョン2.4.38

2.4.37 からの重要な変更はありません.

Seasar2? バージョン2.4.37

重要な変更点

  • 2.4.36 で追加された HotdeployUtil#getHotdeployAwareSession() メソッドは削除されました.このメソッドを呼び出していた場合は以下のように修正してください.
     public void sessionDestroyed(HttpSessionEvent event) {
       HttpSession session = event.getSession();
       if (HotdeployUtil.isHotdeploy()) {
         session = new HotdeployHttpSession(session);
       }
       ...

Seasar2? バージョン2.4.36

重要な変更点

  • 同梱する OGNL のバージョンを 2.6.9-patch-20070908 から 2.6.9-patch-20090427 へ更新しました.
    • 必須ではありません.Seasar2.4.36 は従来バンドルしていた OGNL 2.6.9-patch-20070908 との組み合わせでも動作します.
    • OGNL 2.6.9-patch-20090427 の変更内容はこちら

Seasar2? バージョン2.4.35

  • HOT deploy を使用する場合の web.xml の設定について.
    • HotdeployFilter は S2ContainerFilter より先に適用されなくてはなりません.web.xml の filter-mapping の並びは hotdeployFilter を s2containerFilter より先に記述してください.
         <filter-mapping>
             <filter-name>hotdeployfilter</filter-name>
             <url-pattern>...</url-pattern>
         </filter-mapping>
      
         <filter-mapping>
             <filter-name>s2filter</filter-name>
             <url-pattern>...</url-pattern>
         </filter-mapping>
      ブラウザから HOT deploy モードを切り替えられるようにするには,S2ContainerServlet またはそのサブクラスの servlet-mapping/url-pattern を次のようにしてください.
         <servlet-mapping>
             <servlet-name>s2container</servlet-name>
             <url-pattern>/s2container/*</url-pattern>
         </servlet-mapping>
      HttpServletLister等,HOT deploy状態でない環境で HttpSession#getAttribute(String) を呼び出すと,期待したオブジェクトを取得できない場合があります (SerializedObjectHolder にラップされている). これを回避するには,以下のようにしてください.
       public void sessionDestroyed(HttpSessionEvent event) {
         HttpSession session = event.getSession();
         if (HotdeployUtil.isHotdeploy()) {
           session = new HotdeployHttpSession(null, session);
         }
         ...
      Seasar2.4.36 からは以下のように出来ます.
       public void sessionDestroyed(HttpSessionEvent event) {
         HttpSession session = event.getSession();
         if (HotdeployUtil.isHotdeploy()) {
           session = new HotdeployHttpSession(session);
         }
         ...

S2JDBC-Gen

  • 自動生成されたことを示すために、S2JDBC-Genによって作成されたクラスにはjavax.annotation.Generatedアノテーションを付与するようになりました。 Generatedクラスは、S2-Tigerの配布ファイルに同梱されているgeronimo-annotation_1.0_spec-1.0.jarに含まれます。 もしgeronimo-annotation_1.0_spec-1.0.jarをクラスパスに含めていないのであれば、含めてください。
    • Mavenを使用している場合は、pom.xmlに次の記述を追加して依存性を解決できます。
         <dependency>
           <groupId>org.apache.geronimo.specs</groupId>
           <artifactId>geronimo-annotation_1.0_spec</artifactId>
           <version>1.0</version>
           <type>jar</type>
           <scope>provided</scope>
         </dependency>

Seasar2? バージョン2.4.34

  • S2JDBC-Genの以前のバージョンは0.9.4になります。

S2JDBC-Gen

  • Gen-DdlタスクでOracleデータベース用のDDLを生成する場合ですが、これまでJavaのInteger型とShort型のプロパティに対応するカラムの精度はそれぞれ10と5の固定でした。しかし、今回からはその固定値を止め、@Columnのprecision要素に指定された値を利用するようになりました。 例えば、以前のバージョンで次のようにprecisionを明示していない場合、新しいバージョンではデフォルトの精度である19が使用されます。
    @Column(nullable = true, unique = false)
    public Integer aaa;
    これまで通り10の精度としてDDLを生成したい場合は次のようにprecisionを明示してください。
    @Column(nullable = true, unique = false, precision = 10)
    public Integer aaa;
  • Gen-Entityタスクで、日付型カラムに対応するプロパティの型をjava.sql.Date、java.sql.Time、java.sql.Timestampのいずれかとして出力するようになりました。以前のバージョンと同様@Temporalつきのjava.util.Date型として出力したい場合は、Gen-EntityタスクのuseTemporalType属性に"true"を指定してください。
    <gen-entity
      rootPackageName="examples"
      useTemporalType="true"
      classpathRef="classpath"
    />

Seasar2? バージョン2.4.33

2.4.32 からの重要な変更はありません.

S2JDBC-Gen バージョン0.9.4

  • Gen-Testタスクの名前をGen-EntityTestタスクに変更しました。Gen-Testタスクを使用している場合は修正してください。
  • Dump-Db-Metaタスクの名前をDump-DbMetaタスクに変更しました。Dump-Db-Metaタスクを使用している場合は修正してください。
  • Gen-EntityTest(旧Gen-Test)タスクのtemplateFileName属性のデフォルト値を"java/test.ftl"から"java/entitytest.ftl"に変更しました。"java/test.ftl"という名前で独自のテンプレートファイルを作り優先して読み込まれるように設定している場合は、名前を修正してください。
  • Gen-Ddlタスクから使用されていない次の属性を削除しました。
    schemaInfoFullTableName
    schemaInfoColumnName

Seasar2? バージョン2.4.32

2.4.31 からの重要な変更はありません.

Seasar2? バージョン2.4.31

  • S2JDBC および S2BeanUtils のメソッドの引数型が一部 String から CharSequence に変更されました.S2JDBC または S2BeanUtils を使用している場合は再コンパイルしてください.

S2JDBC-Gen バージョン0.9.3

  • Gen-Entityタスクの次の属性を変更しました(スペルミスを修正しました)。
    enititySuperclassName → entitySuperclassName
    この属性を使用している場合は修正してください。
  • SubVersion 連係機能を使う場合は,SVNKit 1.2 の Jar ファイルが必要となります.SVNKit 1.2 の Jar ファイルは S2JDBC-Gen の配布ファイルに含まれています.

Seasar2? バージョン2.4.30

  • S2AbstractService の select(),selectBySqlFile(),updateBySqlFile() メソッドの可視性を public から protected に変更しました.サブクラス以外から使用する場合は S2AbstractService を継承したクラス (AbstractService) でオーバーライドして public にしてください.
  • S2JDBC のメソッドの引数型が一部 String から CharSequence に変更されました.S2JDBC を使用している場合は再コンパイルしてください.

S2JDBC-Gen バージョン0.9.2

  • gen-namesタスクが生成するクラスを変更しました。0.9.1以前のgen-namesは、エンティティのプロパティ名の定数を持つインタフェースを生成しましたが、0.9.2以降では、エンティティのプロパティに対応するメソッドを持つクラスを生成します。プロパティに対応するメソッドは、static importを利用して呼び出してください。gen-serviceが生成するクラスも新しいクラスを利用するようになっています。既存のコードは変更しなくても動作します。 これに伴い、gen-namesタスクとgen-serviceの属性が変更されています。 gen-namesタスクの属性の変更は次のとおりです。
    namesInterfaceNameSuffix → namesClassNameSuffix
    gen-serviceタスクの属性の変更は次のとおりです
    namesInterfaceNameSuffix → namesClassNameSuffix
    implementNamesInterface → useNamesClass
  • スキーマ情報テーブル(デフォルトではSCHEMA_INFO)のdrop/createのDDLを出力しないようにしました。既存のDDLファイルに含まれるスキーマ情報テーブルに関するdrop/create文とinsert文は削除してください。drop/createやinsertに相当する処理はプログラム内で自動で実行されるようになりました。
  • dump-data、gen-condition、gen-ddl、gen-names、get-service、gen-test、load-data、migrateのタスクで次の属性を変更しました。
    entityNamePattern → entitytClassNamePattern
    ignoreEntityNamePattern → ignoreEntitytClassNamePattern
    使用している場合は、修正してください。なお、この修正に伴い属性の意味も変更されています。変更前はエンティティ名の正規表現を表しましたが、変更後はエンティティクラスの単純名の正規表現を表すようになりました。
  • gen-ddlタスクから次の属性を削除しました。
    createTableDdlFileName
    createUniqueKeyDdlFileName
    createSequenceDdlFileName
    createForeignKeyDdlFileName
    dropTableDdlFileName
    dropUniqueKeyDdlFileName
    dropSequenceDdlFileName
    dropForeignKeyDdlFileName
    DDLファイルの名前はテーブル名に対応するようになりました。

Seasar2? バージョン2.4.29

2.4.28 からの重要な変更はありません.

S2JDBC-Gen バージョン0.9.1

gen-entityタスクのversionColumnName属性の名前をversionColumnNamePatternに変更しました。ビルドファイルでversionColumnName属性を明示的に使用している場合は、修正してください。versionColumnNamePattern属性には正規表現を指定できます。

バージョン2.4.28

2.4.27 からの重要な変更はありません.

バージョン2.4.27

S2JDBC で,エンティティに @Enumerated が指定されていない Enum 型のプロパティを使った場合,2.4.26 以前は名前 (Enum#name() の戻り値) で扱われていましたが,2.4.27 からは JPA 仕様に合わせて序数 (Enum#ordinal() の戻り値) で扱うようになりました. 2.4.26 以前と同様,名前 (Enum#name() の戻り値) で扱うには,s2jdbc.dicon に次のように記述してください.

<component name="jdbcManager" class="org.seasar.extension.jdbc.manager.JdbcManagerImpl">
    ・・・
    <initMethod>
        @org.seasar.extension.jdbc.types.ValueTypes@setEnumDefaultValueType(
            @org.seasar.extension.jdbc.types.EnumType@class)
    </initMethod>
</component>

バージョン2.4.26

2.4.25 からの重要な変更はありません.

バージョン2.4.25

2.4.24 からの重要な変更はありません.

バージョン2.4.24

2.4.23 からの重要な変更はありません.

バージョン2.4.23

重要な変更点

同梱する JUnit のバージョンを 4.3.1 から 4.4 へ更新しました。

S2-Tiger

s2-tigerを使用している場合:

  1. S2JUnit4を利用している場合:
    1. junit-4.3.1.jar を junit-4.4.jar に置き換えてください。

バージョン2.4.22

2.4.21 からの重要な変更はありません.

バージョン2.4.21

2.4.20 からの重要な変更はありません.

バージョン2.4.20

2.4.19 からの重要な変更はありません.

バージョン2.4.19

2.4.18 からの重要な変更はありません.

バージョン2.4.18

2.4.18-rc4 からの重要な変更はありません.

バージョン2.3.23

2.3.23-rc1 からの重要な変更はありません.

バージョン2.4.18-rc4

重要な変更点

  • S2JTA において,Synchronization#afterCompletion(int) メソッドは完全にトランザクションコンテキスト外で呼び出されるようになりました (JTA の仕様です).afterCompletion() 内で TransactionManager#getTransaction() を呼び出すと,従来は完了した Transaction を取得できましたが,rc4 からは null が返されます.

バージョン2.4.18-rc3

重要な変更点

  • S2JDBC において,AutoSelect クラスの join(String)/join(String, boolean) メソッドの名前が leftOuterJoin(String)/leftOuterJoin(String, boolean) メソッドに変更されました.

バージョン2.4.18-rc2

重要な変更点

  • S2Dxo において,従来は変換元と変換先が同じクラスの場合は,変換元のインスタンスをそのまま変換先として使用していましたが,新しいインスタンスを作成するようになりました.従来と同様の振る舞いが必要な場合は,dxo-builtin-converters.dicon を dxo-builtin-converters-shallow.dicon に差し替えて使用してください.(差し替えの方法).

バージョン2.4.18-rc1

重要な変更点

  • 同梱する OGNL のバージョンを 2.6.9-patch-20070624 から 2.6.9-patch-20070908 へ更新しました.
  • JTA の定義ファイル (jta.dicon) が変更になりました.jta.dicon をカスタマイズしている場合は下記のS2-Extensionの項を参照してください.
  • S2Dxo の組み込みコンバータを dxo-builtin-converters.dicon および dxo-tiger-converters.dicon で登録するようにしました.dxo.dicon をカスタマイズしている場合は dxo-builtin-converters.dicon および dxo-tiger-converters.dicon (S2-Tiger を使用している場合) をインクルードしてください.
  • Seasar2.4.18-rc1 は S2Dao 1.0.46 以前との組み合わせでは動作しません.Seasar2.4.18-rc1 は S2Dao 1.0.47-RC1 以降との組み合わせでご利用ください.
  • Seasar2.4.18-rc1 は Kuina-Dao 1.0.0 以前,S2Hibernate-JPA 1.0.0a 以前,S2TopLink-JPA 1.0.0-RC3 以前では動作しません.Seasar2.4.18-rc1 は Kuina-Dao 1.0.0-rc1,S2Hibernate-JPA 1.0.1-rc1,S2TopLink-JPA 1.0.0-rc4 との組み合わせでご利用ください.

S2-Framework

  1. ognl-2.6.9-patch-20070624.jar を ognl-2.6.9-patch-20070908.jar に置き換えてください.

S2-Extension

  1. jta.dicon をカスタマイズしている場合:
    1. 以下のドキュメントに記載されている環境の場合は s2-extension-2.4.18.jar に含まれる dicon ファイルを使用してください.
      1. http://s2container.seasar.org/2.4/ja/transaction.html
    2. その他の環境で TransactionManager を利用可能な場合:
      1. org.seasar.extension.tx.control.TransactionManagerControl のコンポーネント定義を jta.dicon に追加してください.
    3. その他の環境で TransactionManager を利用できない場合:
      1. org.seasar.extension.tx.control.UserTransactionControl のコンポーネント定義を jta.dicon に追加してください.

バージョン2.3.23-rc1

重要な変更点

  • Seasar2.3.23-rc1 は S2Dao 1.0.46 以前との組み合わせでは動作しません.Seasar2.3.23-rc1 は S2Dao 1.0.47-RC1 以降との組み合わせでご利用ください.

バージョン2.4.17

重要な変更点

  • Seasar2.4.17 は S2Dao 1.0.45 以前との組み合わせでは動作しません.Seasar2.4.17 は S2Dao 1.0.46 以降との組み合わせでご利用ください.

バージョン2.3.22

重要な変更はありません.

バージョン2.4.16

重要な変更はありません.

バージョン2.4.15

重要な変更はありません.

バージョン2.3.21

重要な変更はありません.

バージョン2.4.14

重要な変更点

  • J2SE1.4 で XInclude がサポートされなくなりました.XInclude は Java5 以降でかつ XInclude 対応の XML パーザとの組み合わせでのみ利用可能です.
  • 同梱する OGNL のバージョンを 2.6.7 から 2.6.9-patch-20070624 へ更新しました.
  • 同梱する POI のバージョンを 2.5.1 から 3.0 へ更新しました.

S2-Framework

  1. ognl-2.6.7.jar を ognl-2.6.9-patch-20070624.jar に置き換えてください.

S2-Extension

s2-extensionを使用している場合:

  1. XlsReader/XlsWriter機能を利用している場合:
    1. poi-2.5.1-final-20040804.jar を poi-3.0-FINAL.jar に置き換えてください.

バージョン2.3.20

重要な変更点

  • 同梱する OGNL のバージョンを 2.6.7 から 2.6.9-patch-20070624 へ更新しました.
  • 同梱する POI のバージョンを 2.5.1 から 3.0 へ更新しました.

S2-Framework

  1. ognl-2.6.7.jar を ognl-2.6.9-patch-20070624.jar に置き換えてください.

S2-Extension

s2-extensionを使用している場合:

  1. XlsReader/XlsWriter機能を利用している場合:
    1. poi-2.5.1-final-20040804.jar を poi-3.0-FINAL.jar に置き換えてください.

バージョン2.4.13

重要な変更点

  • 2.4.13 rc1 で追加された org.seasar.extension.dbsession パッケージを org.seasar.extension.httpsession パッケージに変更しました.

S2-Extension

s2-extensionを使用している場合:

  1. DBSession機能を利用している場合:
    1. dbsession.dicon を配布ファイルの seasar2/resources に含まれている最新のものに変更してください.

バージョン2.4.13 rc1

重要な変更点

  • Seasar2.4.12 で,環境によっては EJB3/JPA の使用に関わらず必要となった JavaEE5 関連のJar ファイルについて,EJB3/JPA を使用しない場合はそれらの Jar ファイルが無くても動作するようになりました.

バージョン2.4.12

重要な変更点

  • Seasar2.4.11 まで S2-Tiger の Jar ファイルに含まれていたJavaEE5 標準のクラスについて,S2-Tiger で持つのではなく,Geronimo の Jar ファイルを利用するように変更しています.このため,S2-Tiger を利用するには S2-Tiger の配布ファイルに含まれている Geronimo の Jar ファイルをクラスパスに追加する必要があります.(参考:[seasar-user:7142])
  • 同梱する JUnit4 のバージョンを 4.1 から 4.3.1 へ更新しました.

S2-Tiger

s2-tigerを使用している場合:(2.4.13 以降にバージョンアップする場合で,EJBやJPAを利用しない場合,項番 1〜3 は読み飛ばしてください)

  1. TomcatまたはJ2EE1.4対応のAPサーバを使っている場合:
    1. EJB3やJPAの利用の有無に関わらず
      1. geronimo-annotation_1.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
      2. geronimo-ejb_3.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
      3. geronimo-jpa_3.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
    2. EJB3を使用する場合は,上記に加えて
      1. geronimo-interceptor_1.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
  2. Tomcat6を使っている場合:
    1. EJB3やJPAの利用の有無に関わらず
      1. geronimo-ejb_3.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
      2. geronimo-jpa_3.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
    2. EJB3を使用する場合は,上記に加えて
      1. geronimo-interceptor_1.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
  3. スタンドアロン環境の場合:
    1. EJB3やJPAの利用の有無に関わらず
      1. geronimo-annotation_1.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
      2. geronimo-ejb_3.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
      3. geronimo-jpa_3.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
    2. EJB3を使用する場合は,上記に加えて
      1. geronimo-interceptor_1.0_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)
  4. S2Unit4を使用する場合:
    1. junit4.1.jarをjunit4.3.1.jarに置き換える

詳細は以下のドキュメントを参照してください.

バージョン2.4.11

重要な変更点

  • 使用するJTA のバージョンを 1.0.1B から 1.1へ更新しました.

S2-Extension

s2-extensionを使用している場合:

  1. TomcatまたはJ2EE1.4対応のAPサーバを利用している場合:
    1. geronimo-jta_1.1_spec-1.0.jarを追加(以前のバージョンのものがあれば削除しておくこと)

バージョン2.4.10

重要な変更はありません.

バージョン2.4.9

重要な変更はありません.

バージョン2.4.8

重要な変更はありません.

バージョン2.4.7

重要な変更点

  • 同梱する Javassist のバージョンを 3.3GA から 3.4GA に更新しました.

S2-Framework

  1. javassist-3.3.ga.jar を javassist-3.4.ga.jar に置き換える

バージョン2.4.6

重要な変更点

  • 同梱する JUnit4 のバージョンを 4.0 から 4.1 へ更新しました.

S2-Tiger

  1. S2Unit4を使用する場合:
    1. junit4.0.jarをjunit4.1.jarに置き換える

バージョン2.4.5

(これ以前の情報はまだありません)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-12-07 (日) 00:44:01 (774d)