memoっとくスマートフォン用の表示で見るmemoっとくこの広告は、90日以上更新していないブログに表示しています。deployを試すSeasar2前回の続きです。Seasar2.4は実際の業務で使ったことはなく、あまりよくわからないままにしていたんですが、S2のJTAの実装が気になって見始めたのを機会に2.4からの基本的な機能をちょっと調べてみました。deployと言われているもののようです。deployの中でもHotDeployモードと言われてるモードで実現できる機能を指しているようですね。deployは、まぁ、そのままズバリ「賢く」デプロイしてくれるってこと?つまり2.3までの自動登録では、コンポーネントとAspectを自動で登録するには、自分で、このパッケージ内のすべてのクラスは自動で登録するとか、このパッケージのこんな感じの(*.Impl)名前のクラスは自動で登録するとか、しないとかって設定してた(前回のSampleTransaction.dicon)わけですけれども、2.4では、推奨パッケージ構成があらかじめ用意されていて、それに従えば、自身で規約を設定する必要もなく、コンポーネントの自動登録をしてくれるみたい。前回のサンプルで実験してみます。2.4では、なんだかdiconファイルが増えています。sa-struts-tutorialからその辺のdiconは持ってきてみました。あとj2ee.diconがないと思ったら、jarのなかに入ってるもよう。DBの設定とかはどこ行ったかっていうとjdbc.diconと言うファイルを使用するようです。jarのなかのj2ee.diconにはS2TXの設定だけ記述されているようで、DatasourceやらConnectionPoolの設定はこっちのjdbc.diconに記述することになってるみたい。Deployに関係してくるのはConvention,Creator,Customizerの各diconファイルらしいので、それらを設定してゆく。name="addRootPackageName"><arg>"sample.transaction"</arg></initMethod></component></components>ここでは、ルートパッケージを指定している。上の画像にもあるsample.transactionパッケージがここではルートのパッケージとして登録される。class="org.seasar.framework.container.creator.ServiceCreator"/></components>ここでは、規約に沿った形で、自動登録をやってくれちゃうCreatorというコンポーネントを設定している。Creatorは規約にのっとった形でコンポーネント定義を作成してくれるコンポーネントで、推奨パッケージ設定に基づく形で、デフォルトで提供されるCreatorがいくつか存在しています。この例では、2つ目と3つ目のコンポーネントはSeasarが提供してくれているもので、この場合だと2つ目のコンポーネントはsample.transaction.Daoパッケージに含まれるクラスを自動的にコンポーネントとして登録してくれる。3つ目のも同様にsample.transaction.Serviceパッケージに含まれるクラスを自動的にコンポーネントとして登録してくれる。ここで、1つ目のコンポーネントはなんだってことなんですが、前回のサンプルではsample.transaction.businessにビジネスロジックのインタフェースを、そしてsample.transaction.business.implにその実装を入れ、さらにそこにaspectの自動登録でj2ee.requiredTXのインターセプタを設定していました。今回2.4を試してみるにあたり。もとからあるものを使ってその機能を実装しようとしても、sample.transaction.businessに対応するCreatorはデフォルトでは提供されていないため自身で作成する必要があります。ま、Serviceパッケージって名前変えて、クラス名もsuffixをServiceにすれば問題なく動いたんですが、せっかくなんで自分でCreatorを作って動かしてみました。上の画像では、serviceパッケージにbusinessパッケージと同内容のものをファイル名を変えてコピーして、試してみています。}}ServiceCreatorを真似てこんな感じで作成します。<arg>txAttributeCustomizer</arg></initMethod></component></components>ここでは、前回のサンプルで言うところのAspectの自動登録を行っています。Customizerというのは、コンポーネントをカスタマイズしてくれるコンポーネントです。Aspectを設定するなどしてコンポーネントをカスタマイズします。よってはじめから提供されているCreatorへのCustomizerが設定されているのですが、そのままでは何の機能も設定されていません。よって、アプリケーション開発者が、customizer.diconで定義を上書きしたり、自身で追加したCreatorに対しては新規にCustomizerを設定する必要があるのです。}}で、businessCustomizerコンポーネントをDIしています。そんで、コンポーネント定義作成の際に、txAttributeCustomizerによるカスタマイズが行われることとなるのかな?まだ、ちゃんと見てないんだけれど。あと、余談なのですが、このtxAttributeCustomizerって、sa-struts-tutorialで設定されていたので、使ってみたんだけれど、なんかはじめのうち、そんなのコンポーネントないって言われて落ちて困っていました、これはs2-tigerのjarの方に存在するようで、この中にちゃんと入ってました。ちなみにTxAttributeCustomizerは、defaultでは、前回のrequiredTXと同じ動きをするようです。deployのモードを設定します。Deployと呼ばれているものらしいって認識です。間違ってたらごめんなさい。VagrantのCentOS6.5...2009-08-28slim3gwtを試す昨日の猫Managerの一部をGWTで動かしてみました。Guiceをはじめて触ってみるGoogleのDIコンテナGuiceを試してみました。»プロフィールid:kijitoranekoメガネないと見えない。(1)月別アーカイブはてなブログをはじめよう!kijitoranekoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。