トップページ⇒tech
1001コメント305KB

国産DIコンテナSeasarとくーす その4

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/06/24(金) 19:23:41
一部で話題になっている国産オープンソースDIコンテナSeasar V2(略してS2)。
ってどうよ?みんなもう使ってるの?
使用経験とか、実戦配備情報とか、つかえねーよボケ、とかいろいろ書いてね。

あと、開発プロセス「くーす」の話題もこちらでどうぞ。

本家 seasar.org
http://www.seasar.org/

Seasar Projectグループ
http://seasarproject.g.hatena.ne.jp/

ひがやすをblog
http://d.hatena.ne.jp/higayasuo/

前スレ
その1 http://pc5.2ch.net/test/read.cgi/tech/1092044210/
その2 http://pc5.2ch.net/test/read.cgi/tech/1098885253/
その3 http://pc8.2ch.net/test/read.cgi/tech/1102862221/

関連スレ(なのか?)

Java Spring Frameworkを語るスレ
http://pc5.2ch.net/test/read.cgi/tech/1077465099/

Dependncy Injectionを語るスレ
http://pc8.2ch.net/test/read.cgi/tech/1099827125/
0409デフォルトの名無しさん2005/07/28(木) 05:16:55
何度もあったわけじゃないけどリアルのk(1)は嫌いではないのだけど。
0410デフォルトの名無しさん2005/07/28(木) 06:50:24
>>408
治すつもりもないようだ。
h(1)やらh(2)よりもk(1)のヲチの方がおもろいね。
0411デフォルトの名無しさん2005/07/28(木) 08:03:12
とりあえずaがModularization of XHTMLを読んでない事は分かった。

ついでに言うと、XHTML 1.0 in XML Schema(FYI扱いだが)みたいな
「XHTML1.0仕様から見てinvalidなXHTML1.0文書」はXHTMLじゃな
いんだろうか。W3CのTRなんだが。
0412デフォルトの名無しさん2005/07/28(木) 09:17:29
ようするに、SeasarにとってAは鬼門ってことか。
0413デフォルトの名無しさん2005/07/28(木) 09:18:30
それNote。WDですらないから。
0414デフォルトの名無しさん2005/07/28(木) 18:11:35
>>402
S2Container#getDescendant(String path)

rootのコンテナで、指定したパスに対応するロード済みの
コンテナを取得します。

だそうな。
0415デフォルトの名無しさん2005/07/28(木) 22:08:04
>>414
狼よ!サンクス。
てか、そういう情報ってどこを調べると分かるようになるんですか?(;´д⊂ヽヒックヒック

for (int i = 0; i < container.getChildSize(); i++) {
 present = container.getChild(i);
 if (present.getPath().equalsIgnoreCase("Hoge.dicon")) {
  return present;
 }
}
等としてた俺様乙_| ̄|○|||
04164102005/07/29(金) 08:44:52
まじめにやってるからおもしろいのですよ( ̄ー ̄)ニヤリ
両者のうちどちらかがはっきりと実力不足だと見てておもしろくないだろ。
0417デフォルトの名無しさん2005/07/29(金) 12:37:47
>>415
Eclipseでcontainer.get CTRL + SPACEで使えるメソッドを調べれば、
メソッドの意味も親切に教えてくれるよ。
0418デフォルトの名無しさん2005/07/29(金) 13:54:13
>>416
一人は実力不足だと思うのは漏れだけ?
0419デフォルトの名無しさん2005/07/29(金) 20:18:36
>>418
問題は実力ではないな
ttp://asip.tdiary.net/20020820.html#c10
成長がないw
0420デフォルトの名無しさん2005/07/29(金) 22:33:56
通りすがりと書きつつ、話題の人だってこと?
0421デフォルトの名無しさん2005/07/29(金) 23:40:34
>>399

モヒカン族って何だろうと思ってググってみた。

http://mohican.g.hatena.ne.jp/itkz/20050706/p1

激しくワロタ
0422デフォルトの名無しさん2005/07/30(土) 00:17:12
BE: の予感
  ↓
0423デフォルトの名無しさん2005/07/30(土) 02:31:52
>>422
スマン……

件の話は
>「Modularization of XHTML」と「XHTML Basic」は Recommendation なので追加してください.
で詰んだくさいすね。

後は後々祟られないように逃げ道を用意してやるか、
「一匹殺して吊っておく」の精神で殲滅するか……

aたんは
>fooさんやbarさんの"フィルタのかかった狭い世界(=仲間内)"ではfooさんの主張は
>"正しい"んでしょうね。私からみれば根拠など必要としないくらい明らかに"おかしい"主張。
とか今回もやってくれるんですかねー。

0424デフォルトの名無しさん2005/07/30(土) 03:01:58
うむ。
余り深追いしないほうがよさげだな。

しかしモヒカンデビューしようとしてウイグル獄長にやられたaたんカワイソス
0425デフォルトの名無しさん2005/07/30(土) 05:50:00
試合に勝って評価をさげたk(1)
0426デフォルトの名無しさん2005/07/30(土) 05:51:44
試合に負けて評価もさげたが同情を買ったa
0427デフォルトの名無しさん2005/07/30(土) 05:52:46
試合から逃げて勉強になったk(2)
0428デフォルトの名無しさん2005/07/30(土) 05:56:10
試合観戦を楽しんだ>>396-424
0429デフォルトの名無しさん2005/07/30(土) 06:11:23
読んでも読まなくてもどーでもいいようなレスばっかだな。
書いてる本人は、チョーおもすろいと思ってたりして
0430デフォルトの名無しさん2005/07/30(土) 08:21:10
>>429
このスレも一緒(w
0431デフォルトの名無しさん2005/07/31(日) 18:44:41
>>423

>k(1)さんのこれまでの主張には「"こちらの主張が間違っている"と私が思えるほどの根拠」
>は提示されていません。

やってくれているようです(w
0432デフォルトの名無しさん2005/08/01(月) 00:49:28
ML参加者が壷でヲチられてる事を意識し始めると荒んでくんだよな。
勝ち負けの要素が強くなって本筋がグダグダになる。
ML参加者の冷静な判断とコミッター陣の舵取りに期待したい。
0433デフォルトの名無しさん2005/08/01(月) 02:39:08
そうでもない。
0434デフォルトの名無しさん2005/08/01(月) 04:25:29
まぁヲチなんてniftyのころからあった話だしなぁ。

ここでなくともblogの謎めき系コメントとかヲチられてる事を
意識させられる機会は多分にあるわけで。
0435デフォルトの名無しさん2005/08/01(月) 19:33:30
ああ、そういえば思いっきりバレバレの誤爆を
行ったアニヲタもいたっけ。
0436デフォルトの名無しさん2005/08/02(火) 00:00:44
>>432

ヲチスレに書き込んでるヤシが何をいう
0437デフォルトの名無しさん2005/08/03(水) 02:03:02
勝利宣言きたよーー
0438デフォルトの名無しさん2005/08/03(水) 02:28:16
>>437

見たけど、バトル開始時点から壮絶なボタンの掛け違いがあったのかもな。
後はプライドやら何やらで引くに引けずズルズルと・・・で最後はコメントのクローズで強制終了と。

傍目には面白かったし勉強にもなったが、当人達には何の意味もなかった不幸な事故か。
0439デフォルトの名無しさん2005/08/03(水) 03:34:35
>>438
k(1)はいきいきとしてたぞ
aが不幸。
クラクション鳴らしたらどなりこまれたような心境に違いない
0440デフォルトの名無しさん2005/08/03(水) 03:45:00
>>439
それも前の車にクラクションならしたら後ろの車から怒鳴り込まれたわけでw
0441デフォルトの名無しさん2005/08/03(水) 06:23:36
逆ヲチされてる事を期待しての要望なんだけど、S2ContainerにChain of Responsibility
パターンを追加ってできないかな?
特定のdiconに登録されてる全てのクラスに一括で処理を加える事が結構あるんだけど
繰り返しfor文を書くのがちょっと・・・・・・

container = container.getDescendant("hoge.dicon");
for (int i = 0; i < container.getComponentDefSize(); i++) {
 ComponentDef def = container.getComponentDef(i);
 //ここでdiconに登録されてる全てのComponentDefを順番に処理する
 //Fanctor(ComponentDef, Context)等としてループ構造と処理内容は切り離したい
}

public interface Fanctor {
 public void execute(ComponentDef def, Context context) throws Exception;
}

container.chain(Fanctor, Context);とか、できると便利なんだけど・・・・・・
0442デフォルトの名無しさん2005/08/03(水) 10:12:02
>>440
的確でワロス
0443デフォルトの名無しさん2005/08/03(水) 14:12:07
>>441
そんなのテンプレートメソッドとかで、いかようにもなるでしょう。
0444デフォルトの名無しさん2005/08/03(水) 17:37:48
>>441
つVisitorだろ?
MLに流せばk(1)から殺伐と指摘してもらえたのにw
0445デフォルトの名無しさん2005/08/03(水) 18:46:08
>>444
それがおっかないからこっちに投げたんじゃないw

>>Visitor
CommonsのChainを参考にしてたんだけど、書けば書くほどChainからズレていくん
で違和感は感じてたんだけど・・・・・・ご指摘感謝!精進します_| ̄|○|||

とりあえずS2ContainerImplを継承すればええのんかいなぁ?と軽めの追加を施し
たCustomContainerを書いてみたんだけど・・・・・・
SingletonS2ContainerFactory#getContainer()
S2ContainerFactory#getDescendant()
それを↑とかで取得できる様にするにはどうすればいいんだか(;´Д`)

http://lists.sourceforge.jp/mailman/archives/seasar-user/2005-June/003902.html
の辺りを参考にしてるんだけど、も〜!ど〜にも分からない♪
0446デフォルトの名無しさん2005/08/03(水) 20:09:41
ComponentsTagHandler handler = new ComponentsTagHandler();
handler.setContainerImplClass(CustomContainer.class);
S2ContainerTagHandlerRule rule = new S2ContainerTagHandlerRule();
rule.addTagHandler("/components", handler);
XmlS2ContainerBuilder builder = new XmlS2ContainerBuilder();
builder.setRule(rule);
CustomContainer custom = (CustomContainer)builder.build("hoge.dicon");

custom.chainOfComponentDef(new ChainCommand());
これでCustomContainerを取得できるとこまでは分かった。
けど、普通にSingletonS2ContainerFactory.getContainer()でも取れる様に
するにはどうしたらいいんだ?
ML見るとdicon一発という話も出てるんだけど、全然分からんチンorz
0447デフォルトの名無しさん2005/08/03(水) 21:29:01
k(1)は職場のレビューとかでもかなり厳しいらしいよ。
俺の同僚も以前エジキになった。

ブログでモデルをヲチしたり、「うーみゅ」とか書いたりしてるくせにw
0448デフォルトの名無しさん2005/08/03(水) 23:08:55
XmlS2ContainerBuilder builder = (XmlS2ContainerBuilder)S2ContainerFactory.getDefaultBuilder();
TagHandlerRule rule = builder.getRule();
ComponentsTagHandler handler = (ComponentsTagHandler)rule.getTagHandler("/components");
handler.setContainerImplClass(CustomContainer.class);

とりあえず、これで最初のゴールにはたどり着けたみたい。
SingletonS2ContainerFactoryとS2ContainerFactoryの両方でちゃんとCustomContainerが返ってくる。

あとはdiconで同じ事を実現できればベストなんだけど・・・・・・イマイチOGNLとかいうのが理解できん。
kijimunaのおかげで、分からんなりに書く→保存→エラー確認→書き直しの繰り返しで踏ん張れるけ
ど、自分が何やろうとしてたのか度々見失う_| ̄|○|||

>>447
逆に会ってみたい気もする(怖いもの見たさw)。
俺は逆な人を知ってる。ネット上の文章は堅めの敬語ベースで、アドバイスは的確、カッコいい人だ
なと思ってて会ってみたら・・・・・・にゃはは、ガックシ等々の語呂が飛び出すベタなアニヲタだった。
勿論、それでその人の知性が否定されるわけではないが・・・・・・_| ̄|○||| ナンダカナ・・・
0449デフォルトの名無しさん2005/08/04(木) 20:48:25
S2とノーマルJSFを組み合わせようと思ったら、S2JSFを導入すればいいのでしょうか?
どうもS2JSFのHTML方式に魅力を感じないので、普通のJSFでやりたいと思ってるのですが
0450デフォルトの名無しさん2005/08/04(木) 22:28:48
Managed BeanのコンストラクタでどっからかS2Container取ってきて、container.injectDependency(this)とかやりゃいいんじゃない?
S2よく知らんけど。
0451デフォルトの名無しさん2005/08/04(木) 22:35:17
>>449
ttp://lists.sourceforge.jp/mailman/archives/seasar-user/2005-July/004205.html
0452デフォルトの名無しさん2005/08/05(金) 01:26:02
>>450
出来れば、ManagedBeanはDIコンテナに依存しないように作りたいのです。

>>451
ML既出だったんですね。VariableResolverについて勉強不足でした。そういやSpringもこれで連携してたっけ。
どうもありがとうございました。
0453デフォルトの名無しさん2005/08/08(月) 13:03:21
次の戦場はどこですか?
0454デフォルトの名無しさん2005/08/08(月) 15:47:32
S2Strutsでリクエストの自動バインディング使いたいんですけど、
setRequest(HttpServletRequest request)を定義してもうまく
セッターが働いてくれないみたいです。

s2Filterも登録してるんですが、こんな実装では駄目なんすかね。

public class MemberServiceImpl implements MemberService {
 private MemberDAO memberDAO;
 private HttpServletRequest request;

 public UserServiceImpl(MemberDAO memberDAO) {
  this.memberDAO = memberDAO;
 }
 
 public setRequest(HttpServletRequest request) {
  this.request = request;
 }
0455デフォルトの名無しさん2005/08/08(月) 17:07:47
>>453
http://d.hatena.ne.jp/JavaBlack/
0456デフォルトの名無しさん2005/08/08(月) 18:59:46
そこはヲチ対象ではあるが戦場じゃないな。

正直斜め上すぎて突っ込みようがない。
0457デフォルトの名無しさん2005/08/08(月) 20:15:02
k(13)?無設定のkがすでに参戦してるぞ
k(6)はだいぶ前からウズウズしているようだし
k(1)がカレーにスルーとか言ってられるのも時間の問題だろ
h(2)は冷めたコメントしてるがリアルで顔合わせたら間違いなく説教w
0458デフォルトの名無しさん2005/08/08(月) 20:21:55
スマソ
前スレで
k(13)seasarに無関係なk
k(14)seasarに恋してるk
k(15)seasarをシーソーだと思ってたk
まで埋まってるから
k(16)無設定のk
だな
0459スレ読まずにカキコ2005/08/08(月) 21:32:04
相変わらず香ばしいのが一人で頑張ってるな(プゲラ
0460デフォルトの名無しさん2005/08/08(月) 21:33:11
なにがプゲラだよクソガキ
0461デフォルトの名無しさん2005/08/08(月) 21:39:18
なにがクソガキだよ(プゲラ
0462デフォルトの名無しさん2005/08/08(月) 22:09:37
厨房の振りした火消し、乙。
0463デフォルトの名無しさん2005/08/09(火) 15:39:31
ちょっとお聞きしたいのですが、今までSpringを使っていたのですが、Seasar2を勉
強したいと思っています。
S2の入門として良いお勧めHPはないでしょうか?

0464デフォルトの名無しさん2005/08/09(火) 15:52:45
>>458
k(6)って誰?
誰かkの解説サイト作ってよ。
カレーは、kなのかcなのか。
0465デフォルトの名無しさん2005/08/09(火) 15:55:17
>>463
普通にhttp://www.seasar.org/products.htmlからたどれる
ドキュメントでいいんじゃないの。
0466デフォルトの名無しさん2005/08/09(火) 20:02:21
S2ContainerImpl#getDescendant(String path);

修正前
public synchronized S2Container getDescendant(String path) {
 S2Container descendant = (S2Container) descendants_.get(path);
 if (descendant != null) {
  return descendant;
 } else {
  throw new ContainerNotRegisteredRuntimeException(path);
 }
}

修正後
public synchronized S2Container getDescendant(String path) {
 S2Container descendant = (S2Container) descendants_.get(path);
 if (descendant == null) {
  throw new ContainerNotRegisteredRuntimeException(path);
 }
 return descendant;
}

Eclipseさんが気になって仕方ない御様子、修正キボソ。
0467デフォルトの名無しさん2005/08/14(日) 17:44:27
カレをオチするスレはここですか?
0468デフォルトの名無しさん2005/08/14(日) 17:59:46
カレはSeasarとはなんの関係もない
同時にそれを否定する根拠もない.
少なくともただの一度も関係があるような発言はなかった.
今回のインタビューにいたってはアレだしね.
0469デフォルトの名無しさん2005/08/14(日) 18:05:04
カレはSeasarプロジェクトの一員である
同時にそれを否定する根拠もない.
少なくともただの一度も関係がないというような発言はなかった.
今回のインタビューにいたってはアレだしね.
0470デフォルトの名無しさん2005/08/14(日) 21:29:36
渡辺氏の下流工程に関する発言に不用意なモノが多いのは否定せんが、カレはそもそも適切な発言がなi(ry

釣りとしか思えないが、本気なんだろうな…
0471デフォルトの名無しさん2005/08/14(日) 22:54:26
ああ不用意ってのが一番当たってるかもね。
なんかわざと煽ってるような気がするんだよな、渡辺氏。
0472デフォルトの名無しさん2005/08/15(月) 01:59:27
夕方あったコメントがいくつか消されてるね
0473デフォルトの名無しさん2005/08/15(月) 22:33:26
原理主義はDIも宗教もウゼーことこの上なし。













別にSeasarが原理主義とは申しませんがね。
0474デフォルトの名無しさん2005/08/16(火) 09:32:33
出張32乙。つかさっさと巣にカエレ
0475デフォルトの名無しさん2005/08/17(水) 02:15:36
だれでも出張32に見える被害妄想の人、乙。
0476デフォルトの名無しさん2005/08/18(木) 10:22:10
少々前のレスで恐縮ですが
>>97
で批判されてるところが、解決しそうですね。
http://d.hatena.ne.jp/higayasuo/20050817#1124260949

俺もDTOに直接SQLから詰めるのは気になってて、
でもまあ開発効率や保守優先で諦めも肝心と思ってて、
データ詰め替えを自動化出来ればなあって夢想してたんだけど、
ほんとにやるとは、むーん。
0477デフォルトの名無しさん2005/08/19(金) 23:16:45
S2AOPでアスペクトを適用するとき、同じ名前でオーバーロードしてるメソッドのどれか一つだけ選択する方法ってありますか?
あと、コンポーネント毎ではなく、例えばあるインターフェイスを実装しているインスタンス全てに対してAOPを適用するような方法はあるのでしょうか?
0478デフォルトの名無しさん2005/08/24(水) 04:20:11
>>477
遅くなりましたが

> 同じ名前でオーバーロードしてるメソッドのどれか一つだけ選択する方法ってありますか?

pointcutで指定する方法はありません
どうしても必要であればインターセプタでMethodオブジェクトをチェックするしかないかも

> 例えばあるインターフェイスを実装しているインスタンス全てに対してAOPを適用するような方法はあるのでしょうか?

S2.2系ではできません
Seasar4 EA1として公開されている次期バージョンでは
「あるインターフェイスを実装している」クラスに一定のパターンで
名前を付けることにより可能となります
詳しくは以下を参照してください

http://d.hatena.ne.jp/higayasuo/20050712#1121163047
04794772005/08/24(水) 08:02:59
>>478
ありがとうございます。同名メソッドの件は、Method.getParameterTypes()をチェックして対応出来ました。

Seasar4はあまりチェックしてなかったのですが、パターンでDIやAOPの設定が出来るというのは魅力的ですね。
そもそもAOPは横断的な処理をクラスから切り離すのが目的なので、
設定ファイルのcomponentに一個ずつaspectを設定していくというやり方はあまり好きではありませんでした。
ただ、今回の開発ではスケジュール上S2.2を使うことになりそうです。
0480デフォルトの名無しさん2005/08/25(木) 00:53:51
>>479
getComponentDefをグルグル回して同#getComponent()してinstanceofして
addAspectホニャララとすればとりあえず設定ファイルに書く必要だけはな
くなるけど・・・・・・

独自のタグをdiconに盛り込めるのかちょっと不明なんだけど(独自にTagHandler
を書いて突っ込めば出来るのかな?)components/aopタグでコンテナグローバル
なAOPとか?

<components>
 <aspect interface="hoge" pointcut="getHoge">
  <component class="org.seasar.framework.aop.interceptors.TraceInterceptor"/>

ん〜、何か違う気もするorz
0481デフォルトの名無しさん2005/08/25(木) 19:59:25
>>478
2.2系でもSeasar4 EA1のAutoRegisterを真似して作れば
たぶん実現できるんじゃないかな。
0482デフォルトの名無しさん2005/08/26(金) 02:04:46
InterceptorAutoRegisterを眺めてみたけど、
これだと、ある特定パッケージ内において、クラス名を正規表現で設定したものしか拾えないような・・・
EA1だからとりあえずの機能なのかもしれないけど、一度に指定できるパターンの幅が狭すぎるし、Pointcutも使えないね

現時点では、考え方だけ真似て自作するのがベストってことか
0483p2005/08/26(金) 21:36:54
メーリングリストで聞く勇気が出ないんでこちらで・・・

○質問
s2jsfって高負荷時のパフォーマンスにちょっと問題があるって気もするんだけどこれって私の検証方法が問題あるのかな??(s2の方は問題ないと思ってます)

テストツール
WebApplicationStress

テスト条件
Script Settings
================================================================================
Server: localhost
Number of threads: 100

Test length: 00:01:00
Warmup: 00:00:05
Cooldown: 00:00:00

Use Random Delay: No

Follow Redirects: Yes
Max Redirect Depth: 15

0484p2005/08/26(金) 21:37:43
■環境
w2k server
jdk1.5.0_04
tomcat5.0.28

■使用アプリ
各サンプルアプリ


■s2jsfの結果

Page Summary
Page Hits TTFB Avg TTLB Avg Auth Query
================================================================================
GET /s2jsf/ 1115 5482.60 5482.74 No No


■s2strutsの結果(めんどくさかったのでメソッドをゲットに変更してます)

Page Summary
Page Hits TTFB Avg TTLB Avg Auth Query
================================================================================
GET /s2struts/add.do?arg1=1111 16378 362.72 362.76 No No


○個人的考察
s2jsfの場合、テンプレートのHTMLにBRタグを大量に入れると目に見えてパフォーマンスが悪くなっていったので、テンプレートのパースを毎回しててなおかつ思ったようなパフォーマンスを出していない状態なのか??
ドキュメントを読んだ感じとサンプルプログラムの実際のテストをしている限りは、非常に美しく共感できる点が非常に多いテンプレートエンジンなので、できれば次の案件で使いたいんですけど・・・・・これだとちと厳しいかなぁとおもったり
0485デフォルトの名無しさん2005/08/30(火) 02:04:01
S2JSFで、<span m:value="#{someBean.value}"/> で表示した値が
バリデーション失敗時に消えてしまう問題って、回避策ないですか?

たとえば、、、

サンプルのemployeeEdit.htmlを少し変えて
<input type="text" m:value="#{employeeDto.ename}" value="SCOTT"
m:required="true"/>
と必須入力にしたうえで、Edit画面を開く。

で、EmployeeNameを空っぽにしてconfirmボタンを押すと
EmployeeNoのテキストが消えちゃうんですが。。。
0486デフォルトの名無しさん2005/08/30(火) 02:26:40
>>477でAOPの一括設定方法について質問した者です。
頂いたアドバイスに従って自作で作ってみました。registAll()が初期化メソッドになります。
全ての登録コンポーネントの取得方法や、ComponentDefの初期化方法がよくわからないまま作ってしまいましたが・・・

private Class classObj;
private AspectDef aspectDef;
private S2Container container;

public void registAll() {
  S2Container root = container.getRoot();
  registContainer(root);
  for (int i = 0; i < root.getChildSize(); i++) {
    S2Container ct = root.getChild(i);
    registContainer(ct);
  }
}
private void registContainer(S2Container ct) {
  for (int i = 0; i < ct.getComponentDefSize(); i++) {
    ComponentDef cd = ct.getComponentDef(i);
    regist(cd);
  }
}
private void regist(ComponentDef componentDef) {
  Class componentClass = componentDef.getComponentClass();
  if (classObj.isAssignableFrom(componentClass)) {
    componentDef.addAspectDef(aspectDef);
    componentDef.destroy();
    componentDef.init();
  }
}
04874862005/08/30(火) 02:32:35
>>486のdiconファイルはこんなかんじになりました。
コンポーネント毎のaspect設定は不要になりましたが、自作AutoRegisterの初期化処理をどこかでしないといけないのが難点でしょうか?
<component name="traceInterceptor"
class="org.seasar.framework.aop.interceptors.TraceInterceptor"/>
<component name="actionPointcut" class="org.seasar.framework.aop.impl.PointcutImpl">
<arg>new String[]{"execute"}</arg>
</component>
<component name="traceAspect" class="org.seasar.framework.container.impl.AspectDefImpl">
<arg>traceInterceptor</arg>
<arg>actionPointcut</arg>
</component>
<component name="actionTraceRegister" class="test.ClassAutoRegister">
<property name="classObj">@Class@forName("test.Action")</property>
<property name="aspectDef">traceAspect</property>
</component>
0488デフォルトの名無しさん2005/08/30(火) 14:05:47
>>487
おっ。よくできたね。
別に自作のAutoRegisterを登録するくらい良いんじゃないの。
逆に何にも書いてないのに勝手になんかされるほうが不安。
0489デフォルトの名無しさん2005/08/30(火) 14:07:53
>>485
hiddenで値を確保汁。
0490デフォルトの名無しさん2005/08/30(火) 14:11:37
>>484
POSTならPOSTで統一しないとベンチマークの意味がないよ。
後、アスペクトがS2JSFのほうには設定されていたりとか、
STATE_SAVING_METHODがclientになっていたりとかしていない?
04914862005/08/30(火) 21:23:15
>>488
とりあえずS2ContainerServletを継承したServletのinit()で自作AutoRegisterを初期化したら上手くいきました。
StrutsのActionのロギング、セキュリティ権限チェック、ビジネスロジッククラスのトランザクション処理等を
自動でAOP注入できるようになりました。
diconファイルにはcomponent定義だけ書けばOKになったので、
Seasar4が出てアノテーションが使えるようになれば、設定ファイルは本当に要らなくなるかも。

あと、AspectDefにMethodInterceptorのオブジェクトを渡すと、prototypeのInterceptorの場合上手く動かないので
Seasar4 EA1でやってるように、getExpressionで処理した方が良さそうです。

<component name="traceAspect" class="org.seasar.framework.container.impl.AspectDefImpl">
  <arg>actionPointcut</arg>
  <property name="expression">"traceInterceptor"</property>
</component>
0492デフォルトの名無しさん2005/08/31(水) 01:00:00
>>489
hiddenで値を確保しても、textboxで値を確保しても
バリデーションに失敗すると、span m:valueの値は画面上から消えちゃうんです。。。
(もちろん、hiddenやtextboxの値はそのままですが)

恐らく、
バリデーション失敗時はdtoに値が入らないので、
idを見て、バリデーション前の画面の値を
バリデーション後の画面に引き継ぐんでしょうけど、
span m:valueは値を渡さないから、値が引き継がれないのかな、、、と。
0493デフォルトの名無しさん2005/09/08(木) 05:14:07
KijimunaをEclipseにインストールしたら

java.lang.ClassNotFoundException: org.seasar.kijimuna.ui.internal.editor.dicon.DiconEditor
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:403)
...

とか言われてdiconファイルが開けないんですが……。
kijimuna-0.6.24.zip に同梱の install_ja.txt の手順以外に
なにかクラスパスの変更などが必要なんでしょうか?
0494デフォルトの名無しさん2005/09/08(木) 12:18:31
>>493
http://www.seasar.org/updates.html
0495デフォルトの名無しさん2005/09/08(木) 16:04:32
>>494
ありがとうございます。できました。
Eclipse3.1だと、そこのベータ版使わないとだめなんですね。。
0496デフォルトの名無しさん2005/09/08(木) 22:46:25
サンプルとしてS2PetStoreとかあればいいのにと思った。

S2Struts+S2Daoとかで、HSQLDB内包していて、ダウンロードしてきて
すぐに試せる・使い方が分かるサンプルアプリみたいなかんじで。
#S2JSFでもいいんだけど、世間的にはStrutsの方が多いかと思って。

で、最新版のS2リリースに合わせて、S2PetStoreもアップデートしたものを
リリースするとかすれば、良いプロモートになったりしないかしら?

サンプルといえばPetStoreだろうというか、iBATISがやってるような事を
イメージしたんだけど。
0497デフォルトの名無しさん2005/09/09(金) 01:15:09
>>496
言い出しっぺ乙
0498デフォルトの名無しさん2005/09/09(金) 02:22:02
あれ、作ってるんじゃない?
0499デフォルトの名無しさん2005/09/09(金) 22:30:58
S2Hibernate ってなんか遅くないか?
0500名無しさん@そうだ選挙に行こう2005/09/11(日) 10:37:38
S2Hibernateで

Session session = _sessionFactory.getSession();
session.update( object );
session.flush();

とした場合、
session.close();
のようにSessionはクローズしないとだめですか??トランザクション関連を一挙に引き受けてくれるとあったので
Sessionのクローズも必要ないのかなと勝手に想像。。
05015002005/09/11(日) 19:59:15
自己解決というか事故解決というか。

あちこちのDAO関連クラスでsession.close() をしないでいたら、どのタイミングかはわからないけど
トランザクションを開始しましたというログがはじまってずっと停止したままになった。こりゃマジで困ったと思って
思いつく限りでsession.close()を入れていったらとりあえず出なくなった。。。
なんだかな(;´д`)
05025002005/09/11(日) 22:23:50
さらに補足………
diconの設定がマズーだったために動きがおかしかった模様(;´д`)
<aspect>j2ee.requiredTx</aspect>
の設定を、daoなクラスにやりゃぁいいんだけど違うところに設定してた。
やけにDBへのコネクションが多いなぁと思っていたのだ。
一人で騒いでスンマセンですた。
0503デフォルトの名無しさん2005/09/19(月) 08:36:43
  ☆ チン

        ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・)<  議事録まだー?
             \_/⊂ ⊂_)_ \_______
           / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
        |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|
        |           .|/
0504デフォルトの名無しさん2005/09/22(木) 05:16:52
S2.NETって列挙型サポートしてる?
ドキュメント見ても列挙型には触れてないみたいだけど。
0505デフォルトの名無しさん2005/09/22(木) 15:07:13
つーか、Seasarに関するFAQはどこにあんの?
http://www.seasar.org/以下を眺めても見当たらないんだが。
0506デフォルトの名無しさん2005/09/22(木) 17:01:07
作者の脳内にはばっちり整備されているんだが…FAQ
0507デフォルトの名無しさん2005/09/22(木) 18:00:02
>>506
つまり、現在ではFAQは存在しないってこと?
まぁ、仕方ないんで、マニュアル、各種pptファイル、メーリングリストのログをローカルのnamazuで全文検索させるか……。

『易しさ』と『優しさ』ってなんだろーな……。
0508デフォルトの名無しさん2005/09/22(木) 18:39:48
>507
言い出しっぺ乙
■ このスレッドは過去ログ倉庫に格納されています