IDEA6でEJB3の素振り

EJB3+JSF入門をIDEAで実現すべく素振り中.
はっきり言っておこう.「EJB3の開発に関しては,NetBeansが最強だ!!」と.


NetBeansなら5分もかからず終わってしまう,JSFからSessionBeanを呼び出すトイプロをIDEAで出来るようになるまで,随分苦労した.orz
苦労の大半は,あたしの勘違いによるものだが...とりあえず,忘れないウチにメモ.

前提
  • テストに使った環境は,以下の通り.
    • Glassfish 9.0_01(いわゆるSun Java System Application Server 9.0 Update1)
    • JBoss 4.0.5.GAも試したけど,JSFの実装がGlassfishと異なるようで,うまく動かなかった.
  • 偏見だが,EJB3を試すんだったらGlassfishが吉.
Java EE Application Moduleまわり
  • どうゆうワケか,IDEAではapplication.xmlがクサる.
    • 地味だが,手で直す.:-(
  • なぜか,Applicaton Server specific descriptor(sun-application.xmlとかjboss-app.xmlなど)がないとデプロイしてくんない.
  • どうでもいいが,Glassfishは展開形式(exploded)はダメポ.
Ejb Moduleまわり
  • IDEAは,新規作成でEJB(SessionBean)を作っても,ローカルI/Fは作ってくれない.
    • EJB2.xは作ってくれたんだけどね.なんでかな?そんな手間じゃないからかな.
  • ローカルI/Fって,@Localアノテーションを設置しなくても平気なのね.
Web Moduleまわり
  • Webモジュールを作るとき,web.xmlのバージョンを2.5にしないとダメ.
  • 正直,IDEAのface-config.xmlエディタはそんなに便利じゃない.
  • Glassfishは,JSFの実装を持っているようなので,JSFのJarファイルをWARに同梱しなくてもイイ.
    • つか,JavaEE5対応コンテナって,どれもJSFの実装もってんのかね?

とまあ,こんな具合だ.次はお待ちかね(?)のEntityBeanに挑戦してみよう.


ps.
あんまりイケてないIDEAだが,良い点がひとつ.それはNetBeansのEnterpriseApplicationプロジェクトをマウントすることができるのだ(逆は無理).:-D
マイナー(?)であるが故か,特定の環境に依存せず柔軟にプロジェクト構成を取れるのは,IDEA最大のウリだよね.これで,どうにかNetBeansとIDEAは共存できると言えよう.
#ただ,EntityBeanに挑戦したあとも,同じ事を言えるかどうかは知らん.:-P