BEA WebLogic Workshopに関するメモ

BEAから『はじめてのBEA WebLogic Workshop 8.1J――かんたんJ2EEアプリ開発ガイド』をもらった。ガイドとしてはなかなか良いできだと思う。

んで、ココに書いてない、もしくは書いてありそうだけどよくわかんないことについて色々聞いてきたので防備録。
後から調べたら、WEB上に転がっている情報と矛盾?誤解しているところもありそうなので、順次修正。

コントロールとは何ものぞ?

実態はステートレスセッションビーン
JPF上でコントロールを呼び出す場合には、JPFはBeanインスタンスに対する直接参照を持っている。

コントロールJavaDocの生成方法は?

IDE上は用意されていない。普通にJDKJavadocコマンドを使用する。

本番時のPointBaseはどうすべき?

本番で使用する予定のDBに移動する。
設定は、WLWが動作しているディレクトリ/META-INF/wlw-manifest.xml内に設定されているで設定される項目毎にテーブルを作ってやる。
後はデータソースにリンクするコネクションプール設定を変更してやればOK。
最後にPointBaseが起動しないように起動シェルを変更すべし。

システム起動時に初期化を行う為にはどうすればいいか?

WLWでは用意していない。
スタートアップクラスを使用するか、Servletの初期化機能を使うべし。

コントロールが使用するメモリは?

一個当たり概算で1000B程度。

コントロールに継承は使える?

8.1では出来ない。9.xで対応予定。

Threadの動きはどうなる?

リクエストを受けたスレッドが最初から最後まで処理を受け持つ。
途中でスレッドが入れ替わることはない。
→ちうことはThreadLocalを使えるってことですね。

TX境界は?

一番最初に呼び出すコントロールの出入り口。
デフォルト状態であるときに、コントロールはRequired属性でデプロイされているステートレスビーンだと思えばよい。

つまり、トランザクションロールバックしたければ例外を出す(つまりはSOAP500エラー!!)か、手動でsetRollbackOnlyを使ってロールバックフラグをたてる必要がある。
、、、この仕様はいまいちだなぁ。。。

  • これに対して、JPFはサーブレットなので上記の法則にはのっとらない。


つまり、、、セッションファサードパターンを用いた設計を行ったときに、
JPFからセッションファサードを呼び出した場合と、
WEBサービスコントロールからセッションファサードを呼び出した場合で
動きが異なるってことですね。
こんな設計しちゃダメってことですか。

プロジェクトを跨って開発したいんですけど?

IDE上での話し。
WLWではAP-プロジェクト-以下自由
ってな感じの階層構造をとっているが、同じAPの異なるプロジェクトソースを呼び出してコンパイルすることは不可能。
コピーするなり、対象となるプロジェクトをjarとしてインポートするなりする事になる。



んーーーーーー、、、、
総合的には、便利なようなそうでない様な。。。
結構期待しています。