私はJavaEEを初めて使用します。現在、SunMicrosystemsによるJavaEE 6チュートリアル、第1巻(基本概念ベータ版)を受講しています。単調な読書から逃れるために、私は他の人が書いたいくつかのJavaEEプロジェクト/コードで遊んでいます。
私はSEから来ました。私の頭はまだSEでいっぱいです。SE(2層アプリケーション)では、
DATABASE_URL = "jdbc:mysql://something.db_server.com/db_name"
これは、私のクライアントがデータベースサーバーの場所を知る方法です。
私が見たJavaEEの例の1つ
// Access JNDI Initial Context.
Properties p = new Properties();
p.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
p.put("java.naming.provider.url","jnp://localhost:1099");
p.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
InitialContext ctx = new InitialContext(p);
// Change jndi name according to your server and ejb
HelloRemote remote = (HelloRemote) ctx.lookup("HelloBean/remote");
msg = "Message From EJB --> " + remote.sayHello();
これはわかりました。コードにはURLとポート番号があります。この行があります
p.put("java.naming.provider.url","jnp://localhost:1099");
クライアント側は、URLによってサーバーがどこにあり、どのポートをノックするかを知っています。コードはJavaEE5の時点で書かれたと思います。
今日、Netbeans 7、Java EE 6、およびGlassFish3が使用されている別の例を見つけました。クライアント側のコード
@EJB
private static MySessionRemote mySession;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JOptionPane.showMessageDialog(null,
"result = " + mySession.getResult());
}
リンクは次のとおりです http://netbeans.org/kb/docs/javaee/entappclient.html
URLとポート番号は指定されていません。
DavidR.HeffelfingerによるNetbeans7を使用したJavaEE6開発には、第7章に同様の例があります。著者は、本の中でそれがどのように行われるかを説明していません。彼はそれをやったと思いますが、私はおそらくそれを逃しました…</ p>
私の質問は、クライアント側がURLなしでサーバーを見つける方法です。それらのxmlファイルの1つに記載されていますか?クライアントはカリフォルニアにあり、GlassFishサーバーはニューヨークにあります。誰かが私にそれを説明したり、私が答えを見つけることができるチュートリアル/ブログ/記事を指摘したりできますか?
ありがとうございました。