aa.Foo EJBインタフェース
aa.Foo$Home EJB Homeインタフェース
aa.FooSFSB 汎用 実装クラス
aa.FooSFSB$JBoss3 JBoss3固有の機能を利用したEJB実装クラス
こんな感じでDDに記述したいと考えています。
ちょっと動かして確認した範囲では
JBoss 3.0.x と WebLogic 8.1J
J2EE1.3.1 Sun RIでは動作しているようです。
アプリケーション サーバ的には問題なくても、
IIOPで通信させるとまずいかもしれないと考えたりしていますが
確信が持てないのです。
Iwao Watanabeさんの<bqk6vl$ohh$1...@wam-soft.com>から
>Oracle8iのEJBの開発者向けのマニュアルでは「$」 や「_」 が
>EJBの実装クラス/インタフェースに含まれていてはならないと
>記述されているのは知っているのですが,
>J2EE的にはそのような決まりはあるのでしょうか?
<省略>
>アプリケーション サーバ的には問題なくても、
>IIOPで通信させるとまずいかもしれないと考えたりしていますが
>確信が持てないのです。
正しい J2EE仕様はよくわかりませんが、Oracle8iのEJBで「$」が禁止されて
いるのは、内部クラスがコンパイルされるとクラスファイル名が
「包含クラス$内部クラス.class」
となることと、何か関係があるんじゃないでしょうか?
はずしてたらごめんなさい。
--
Tanaka-Qtaro-Yasuhiro mailto:ta...@ca2.so-net.ne.jp
"Tanaka-Qtaro-Yasuhiro" <ta...@ca2.so-net.ne.jp> wrote in message news:bqkmrt$em5$1...@news-wst.ocn.ad.jp...
>
> 正しい J2EE仕様はよくわかりませんが、Oracle8iのEJBで「$」が禁止されて
> いるのは、内部クラスがコンパイルされるとクラスファイル名が
> 「包含クラス$内部クラス.class」
> となることと、何か関係があるんじゃないでしょうか?
確かに内部クラスを使うと $ を
はさんだ状態のクラスファイルが生成されますが,
JAVAにおいては $ は記号っぽいですが 英数字と同じく
普通にオブジェクトの識別子に使える文字の一つです。
なので いきなり次のような記述にしてもコンパイルは通ります。
interface A { }
class B$13 implements A { }
Oracleのそれも同じように実装されているのかもしれません。