EJB の話2

EJB の話』で作成した tomee 向け war ですが、ノーマル雄猫に投入したところ、けっこう面白い挙動を示しました。

TomEE 上で正常に動作すると

となるんですが、ノーマル雄猫では

と、ものの見事に ejb が関与している部分をガン無視w

具体的には

out.print("<h2>Following message comes from ejb -> "+this.ejb.hello()+"</h2>");

の部分ですね。

でも

・デプロイ自体はできる

・サーブレットも動く

ものなんですね。

 

tomcat が Java EE 対応サーバとして認定されていないってのがよくわかりますね。

逆に EJB を軽々と使える TomEE は思っていたより優秀でしょうか。

 

 

EJB の話

そもそも EJB とは?

Enterprise Java Beans の略です。

よく「Java のエンタープライズなシステム向け拡張仕様 Java EE(Enterprise Edition)の一部。サーバ上で動作するアプリケーションをソフトウェア部品(コンポーネント)を組み合わせて開発・実行できるようにしたもの」などと説明されています。

この説明でピンとくる人がいるんだろうか?

というわけでいつものようになるべく行数の少ないコードでプロジェクトを作成。
手抜きコードともいうw

サンプル

シンプルに EJB を使ったサーブレットを作成。

以前に作成した TomEE 環境で動いてます。

ノーマル山猫では動くのかな?

→ war をノーマル雄猫(普通の tomcat のこと)に投入すると、けっこう面白い挙動しました。興味のある人は『EJB の話2』を読んでみてください。

 

ソースコードは GitHub: https://github.com/air-h-128k-il/tomee-ejb にあげてあります。
air-h-128k-il さん、いつもありがとうございます)

ソースコード解説

ソースコードは解説するまでもないでしょうが、ビジネスロジック(よくあるハロワw) を @EJB アノテーションを使ってサーブレットから使えるようにしているだけです。

そんだけw