S2Flex2の1.1.1-rc1をリリースしました。
ダウンロードはこちら
主な変更点は以下のとおりです。
- Seasar2.4のpublicフィールドに対応しました。
- サーバロジックで例外が発生した際に、例外の内容をFlex側で取得できるように改善しました。
Maven2からのご利用はこちらを参照ください。
http://www.seasar.org/wiki/index.php?Maven2RepoRemote
groupId: | org.seasar.flex2 |
artifactId: | s2-flex2 |
今回のバージョンは、1.1.1-rc1になります。
S2Flex2 1.0.4-rc1同様サーバ側のロジックで例外が発生すると、Flex側にはFaultイベントで返されるようになります。
その際、元のExceptionが持っている情報はFaultのrootCauseで取得します。
rootCause経由で例外情報を取得するには、S2Flex2-Componentsも更新する必要があります。
Flex2で使う際には、S2Flex2-Components1.0.4-rc1を、Flex3で使う際には、S2Flex2-Components2.0.0-Beta2とswcを入れ替えてください。
GW明け数日経っても問題がないようでしたら、1.1.1として正式リリースする予定です。
1.1系はpublicフィールドに対応したので、例外の情報もプロパティをpublicにするとFlex側でも取得できます。
public class HogeException extends Exception { public int hogeCode; public String hoge; : :
上記のように定義すると
FaultのrootCauseのプロパティとして取得できます。
こんな感じ。
public function onFault(ret:FaultEvent):void{
var fault:Fault = ret.fault as Fault;
var fault:Fault = event.fault;
var hogeCode:int = fault.rootCause.hogeCode;
var hoge:String = fault.rootCause.hoge
:
:
RuntimeException、ExceptionともにrootCause経由で取得できるようになっているはずです。
またjavaとasのDTOの変換でもjava側、as側ともにpublicに設定していればプロパティとして判断して相互変換が可能になります。プロジェクトによってはコードもすっきりするかもしれません。
問題、不明点等ありましたらお知らせください。m(__)m
#1.0.x系もFaultからrootCause を取得できるようになっています。
S2Flex2-1.0.4-rc1をリリース:nod::ぶろぐ:RIA::Flex/AIR/Flash
http://www.noridon.net/weblogs/archives/2008/05/s2flex2104rc1.html
#fxugのフォーラム で指摘していただきました。
Java側で発生した例外の内容を取得する方法(Flex User Groupのフォーラム)
http://www.fxug.net/modules/xhnewbb/viewtopic.php?viewmode=flat&topic_id=1752&forum=15
#public フィールドが対応されたS2Containerのバージョン
#Seasar2.4.17のリリース
http://ml.seasar.org/archives/seasar-user/2007-August/009865.html
#koichikさんによるリリースアナウンス
http://d.hatena.ne.jp/koichik/20070813#1186999214
#publicフィールドが追加されたときのJIRA
#対応方法を参照する事もできます。
https://www.seasar.org/issues/browse/CONTAINER-70
#publicフィールド対応可否を明記&リリースしていなかったので疲れさせてしまったようです.. m(__)m
S2Flex2の導入,その2 - Paradigm Shift Design
http://d.hatena.ne.jp/kent013/20080220/1203495861
この記事に対するコメント