特集
2004/03/25 18:00 更新
特集:第3回 JBossのインストールから基本的な使い方まで (8/8)
JNDIの設定で注意すべき点
上記までの手順で実行すると、次のようなエラーが表示されるはずだ。
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial |
これはJavaVMがJBossのJNDIを正しく見つけられないために起こる表示だ。
JNDIを利用するクライアントは、どのJNDIサーバを使うのかを設定する必要がある。どのJNDIサーバを利用するのかを決めるには、幾つかの方法があるが、汎用性が高いのは、実行時のクラスパス内に「jndi.properties」というファイルを置き、そのファイル内で設定する方法だ。
|
JBossのJNDIを利用する場合のjndi.propertiesファイルの内容は、List 7のようになる。
List 7■jndi.propertiesファイル
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.provider.url=jnp://localhost:1099 java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces |
ここでは、2行目で「jnp://localhost:1099」を指定しているので、クライアントが実行されているコンピュータ自身で動作しているJBossに接続するという意味になる。この部分をlocalhostではなく、別のホスト名に変更すれば、別のコンピュータで動作しているJBossに接続することも可能だ。
jndi.propertiesファイルをカレントディレクトリに置くことによって、正しく実行できるようになる。実行結果は、次の通りだ。
10+20=30 |
Enterprise Bean作成は容易、難しいのはコンパイル後の配置など
ここまで説明してきたように、Enterprise Beanを作るには、ホームインタフェース、リモートインタフェース、Beanクラスの3つを作ればよい。これらは幾つかの規約に則った手順で作成すればよいので、さほど難しくはない。
むしろ難しいのは、ejb-jar.xmlファイルやJNDIの設定など、コンパイルしたものをどうやって配備し、どうやってJNDIで見つけ出すのかという点かもしれない。それでも今回のように、Enterprise Beanを作り、それをスタンドアロンアプリケーションから呼び出す場合には、比較的容易だ。
しかし複数のEnterprise Beanを作ったり、WebアプリケーションからEnterprise Beanを作るときに同一のjar形式ファイルにまとめたりするというと、とたんに話は複雑になってくる。この領域については連載の回を改めて、WebアプリケーションにおけるEnterprise Beanの使い方、そして、WebアプリケーションとEnterprise Beanを同一のjar形式ファイルにまとめる方法などについて解説してみよう。
関連記事第2回 インタフェースとBeanクラス作成でEJBの核を知る
第1回 EJBの仕組みを知ろう
MySQLとJBossが協業
SunとJBossのJava論争が決着
JBoss、顧客に免責保証提供
関連リンク
Javaチャンネル
[大澤文孝,ITmedia]
Copyright © ITmedia, Inc. All Rights Reserved.