Я новичок в Java EE. В настоящее время я просматриваю учебник по Java EE 6, том 1 (бета-версия Basic Concepts) от Sun Microsystems. Чтобы избежать монотонного чтения времени, я играю с несколькими проектами/кодами Java EE, написанными другими.
Я приехал из SE. Моя голова все еще заполнена SE. В SE (двухуровневое приложение) я использую
DATABASE_URL = "jdbc:mysql://something.db_server.com/db_name"
Так мой клиент знает, где находится сервер базы данных.
В одном примере Java EE я увидел
// 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-адресу, а какой порт - сбить. Я думаю, что код был написан во время Java EE 5.
Сегодня я нашел еще один пример использования Netbeans 7, Java EE 6 и GlassFish 3. Клиентский код
@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-адреса и номера порта.
Разработка Java EE 6 с Netbeans 7 Дэвидом Р. Хеффельфингеру аналогичным примером в главе 7. Автор не объяснил, как это делается в книге. Я думаю, что он это сделал, но я, вероятно, пропустил его...
Мой вопрос в том, как клиентская сторона находит сервер без URL-адреса? Это указано в одном из этих xml файлов? Клиент может находиться в Калифорнии, а сервер GlassFish - в Нью-Йорке. Может ли кто-нибудь объяснить это мне или указать на любой учебник/блог/статью, где я могу найти ответ?
Спасибо.