ひがやすを技術ブログ

電通国際情報サービスのプログラマ

2006-05-01から1ヶ月間の記事一覧

DIContainerのEJB3対応

Seasar2では、次のSeasar2.4 Beta3で、EJB3対応がほぼ終わりますが、SpringでもEJB3対応やるみたいですね。 http://www.interface21.com/pitchfork JavaOneでRodがEJB3を否定していたのになぁ(笑)。 JPAのCriteria対応もやるみたいです。 http://www.infoq.co…

AutoRegister#addClassPattern()

AutoRegisterのaddClassPatternも引数をString classNameだけにして、正規表現OKにして欲しいなぁとか。 ComponentAutoRegister#addClassPattern(packageName, classNamePattern)のシグニチャにpackageNameが入っているのは、パフォーマンスのためです。class…

Seasar.org

なんかサンフランシスコに行ってる間にいろんなことがあったみたい(笑)。 小林さんにいろいろ聞いて大体状況は把握しました。 最初にJavadocについてですが、Seasar2については先ず日本語で作ってみたいと思います。英語版をどうするかはニーズ次第というこ…

BOFを終えて

JavaOneの会場のspearker service roomでネットワークを使えたので、BOFの感想を書いてみます。 会場は、800人くらい入るような大きな部屋だったので、下見に行ったとき最初にびっくりしました。22:30という遅い時間(平鍋さんには真夜中といわれたよ)だし、…

I'm in San Francisco now

I'm writing this using SunRay170. It's clear day and hot in San Francisco. I have finished the speaker registration. I will speak at 2:30 pm Thursday Japan time.

AutoNaming

Seasar2.4からAutoNaming(コンポーネント名の命名規則)が次のようになっています。 rootPackageName:xxx middlePackageName:web, logic, dao, logic, dto implementationPackageName=impl implementaionSuffixName=Impl middlePackageNameの後ろにimplementa…

HOT deployの対象

HOT deployは、DIContainerで扱っているコンポーネントだけが、対象だというふうに思われる方もいるかもしれませんが、OndemandBehaviorのrootPackageName以下のクラスはすべて対象です。staticなメソッドもnewしたオブジェクトも対象です。DIContainerで扱っ…

Convention over Configurationの未来?

さて、「Convention over Configuration」なフレームワークで作ったアプリケーションの5年後を考えて見ましょう。COから5年もたてば、保守をしているのは、それほどのレベルの高くないエンジニアになると思いますし、設計書などのドキュメントの整合性も怪し…

Seasar 2.4.0 beta2 released

http://s2container.seasar.org/ja/ HOT deployを実装しました。 S2AOPで、Genericな戻り値を持つメソッドにアスペクトを適用するとエラーが発生していた問題を修正しました。[Seasar-user:3293] S2TestCase継承クラスで、super.runTestの前後へ処理を加えら…

HOT deployとHOT swapの違い

Seasar2.3には、HOT swapという機能が実はありました。HOT swapとは何かというと、インターフェースを実装したクラスの実装部分のみが変更されても大丈夫なようにするというものです。 例えば、Fooインターフェースにgreet()メソッドがあり、FooImplクラスがFoo…

HOT deploy完成

GWを使いきり、HOT deployを完成させました。 HOT deployとは何か。アプリケーションサーバを稼動させたまま、クラスを追加、変更しても、アプリケーションのリロードは不要で、その変更が即座に認識される技術です。JavaEEのアプリケーションサーバにありがちなj…

ファイルの保存はどこでするのか

それは、ブラウザからアップロードされたファイルの保存をどこで、実装させるかということです。 ファイルの保存は、プレゼンテーション層のHelperロジックなので、それ用のコンポーネントを作り、ActionにDIします。なぜ、Serviceでやらないかというと、トラン…

S2JSFのコンポーネントツリーの保存法

現在のS2JSFでは、コンポーネントツリーをユーザ数×ページ数分、セッションに格納しているのですが、ユーザ数が増えるとメモリを大量に消費してしまうので、SunのRIのように最新のアクセスした数ページ分だけ保存するように修正したいと思います。 後、現在、コン…

FacesContextのDI

FacesContext.getCurrentInstance()もDIでとってきたいなあ。 FacesContextのDIは次のようにします。まず、FacesContextのコンポーネントを登録します。 <component name="facesContext" instance="request"> @javax.faces.context.FacesContext@getCurrentInstance() </component> 後は、setFacesContext(FacesContext)のメ…