Spec-Zone .ru
спецификации, руководства, описания, API
|
orbd используется, чтобы позволить клиентам прозрачно определить местоположение и вызвать персистентные объекты на серверы в среде CORBA.
См. также: Именование Службы
orbd <options>
Диспетчер серверов, включенный с orbd инструментом, используется, чтобы позволить клиентам прозрачно определить местоположение и вызвать персистентные объекты на серверы в среде CORBA. Персистентные серверы, публикуя персистентные ссылки на объект в Службе Именования, включают номер порта ORBD в ссылке на объект вместо номера порта Сервера. У включения номера порта ORBD в ссылке на объект для персистентных ссылок на объект есть следующие преимущества:
К Диспетчеру серверов ORBD's доступа сервер должен быть запущен, используя servertool, который является интерфейсом командной строки для прикладных программистов, чтобы зарегистрировать, незарегистрировать, запустить, и завершить работу персистентного сервера. Для получения дополнительной информации по Диспетчеру серверов см. раздел в этом документе названный Диспетчер серверов.
Когда orbd запускает, он также запускает службу именования. Для получения дополнительной информации по службе именования соединитесь с Именованием Службы.
Служба Именования является службой CORBA, которая позволяет объектам CORBA быть названными посредством привязки имени к ссылке на объект. Привязка имени может быть сохранена в службе именования, и клиент может предоставить имя, чтобы получить требуемую ссылку на объект.
До выполнения клиента или сервера, Вы запустите ORBD. ORBD включает персистентную Службу Именования и переходную Службу Именования, оба из которых являются реализацией Службы Именования COS.
Персистентная Служба Именования обеспечивает персистентность для контекстов именования. Это означает, что эта информация является персистентной через завершения работы службы и запуски, и является восстанавливаемой в случае отказа службы. Если ORBD будет перезапущен, то Персистентная Служба Именования восстановит график контекста именования, так, чтобы привязка имен всех клиентов и серверов осталась неповрежденной (персистентный).
Для обратной совместимости tnameserv, Переходная Служба Именования, поставленная с более старыми версиями JDK, также включается в этот выпуск J2SE. Переходная служба именования сохраняет контексты именования, пока она работает. Если есть прерывание службы, график контекста именования теряется.
Параметр -ORBInitialPort является необходимым параметром командной строки для orbd, и используется, чтобы установить номер порта, на котором будет работать Служба Именования. Следующие инструкции предполагают, что можно использовать порт 1050 для Демона Посредника запросов к объектам IDL Java. При использовании программного обеспечения Соляриса следует стать корнем, чтобы запустить процесс на порту под 1024. Поэтому мы рекомендуем, чтобы Вы использовали номер порта, больше чем или равный 1024. Можно заменить различным портом в случае необходимости.
Чтобы запустить orbd с командного процессора UNIX, войдите:
orbd -ORBInitialPort 1050&
От системного приглашения MS-DOS (Windows) войдите:
start orbd -ORBInitialPort 1050
Теперь, когда ORBD работает, можно выполнить свои серверные и клиентские приложения. Запуская приложения клиента и сервера, они должны быть сделаны знающий о номере порта (и машинное имя, если применимый), куда Служба Именования работает. Один способ сделать это должно добавить следующий код к Вашему приложению:
Properties props = new Properties(); props.put("org.omg.CORBA.ORBInitialPort", "1050"); props.put("org.omg.CORBA.ORBInitialHost", "MyHost"); ORB orb = ORB.init(args, props);
В этом примере Служба Именования работает на порту 1050 на узле "MyHost". Иначе должен определить номер порта и/или машинное имя, выполняя серверное или клиентское приложение из командной строки. Например, Вы запустили бы свой "HelloApplication" со следующей командной строки:
java HelloApplication -ORBInitialPort 1050 -ORBInitialHost MyHost
Чтобы остановить службу именования, используйте соответствующую команду операционной системы, такую как pkill orbd на Солярисе, или Ctrl+C в окне DOS, в котором работает orbd. Отметьте, что имена, зарегистрированные в службе именования, могут исчезнуть, когда служба завершается, если служба именования является переходным процессом. Служба именования IDL Java будет работать, пока она не будет явно остановлена.
Для получения дополнительной информации по Службе Именования, включенной с ORBD, см. Службу Именования.
Чтобы получить доступ к Диспетчеру серверов ORBD и выполнить персистентный сервер, сервер должен быть запущен, используя servertool, который является интерфейсом командной строки для прикладных программистов, чтобы зарегистрировать, незарегистрировать, запустить, и завершить работу персистентного сервера. Когда сервер запускается, используя servertool, он должен быть запущен на том же самом узле и порту, на котором выполняется orbd. Если сервер будет выполнен на различном порту, то информация, хранившая в базе данных для локальных контекстов, будет недопустима, и служба не будет работать должным образом.
Используя демонстрационное учебное руководство для нашей демонстрации, Вы выполнили бы компилятор idlj и компилятор javac как показано в учебном руководстве. Чтобы выполнить Диспетчер серверов, следуйте за этими шагами для того, чтобы запустить приложение:
Запустите orbd.
Чтобы запустить orbd с командного процессора UNIX, войдите:
orbd -ORBInitialPort 1050
От системного приглашения MS-DOS (Windows) войдите:
start orbd -ORBInitialPort 1050
Отметьте, что 1050 является портом, на котором Вы хотите, чтобы сервер имени работал. -ORBInitialPort является необходимым параметром командной строки. При использовании программного обеспечения Соляриса следует стать корнем, чтобы запустить процесс на порту под 1024. Поэтому мы рекомендуем, чтобы Вы использовали номер порта, больше чем или равный 1024.
Запустите servertool:
Чтобы запустить Привет сервер, войдите:
servertool -ORBInitialPort 1050
Удостоверьтесь сервер имени (orbd), порт является тем же самым как в предыдущем шаге, например, -ORBInitialPort 1050. servertool должен быть запущен на том же самом порту как сервер имени.
Интерфейс командной строки servertool появляется.
Запустите Привет сервер от подсказки servertool:
servertool > register -server HelloServer -classpath . -applicationName HelloServerApName
servertool регистрирует сервер, присваивает его имя "HelloServerApName", и выводит на экран его идентификатор сервера, наряду с перечислением всех зарегистрированных серверов.
Выполните клиентское приложение из другого окна терминала или подсказки:
java HelloClient -ORBInitialPort 1050 -ORBInitialHost localhost
Для этого примера можно опустить -ORBInitialHost localhost, так как сервер имени работает на том же самом узле как Привет клиент. Если сервер имени работает на различном узле, используйте -ORBInitialHost nameserverhost, чтобы определить узел, на котором работает сервер имени IDL.
Определите сервер имени (orbd) порт как сделано в предыдущем шаге, например, -ORBInitialPort 1050.
Когда Вы закончили экспериментировать с Диспетчером серверов, убеждаться, что завершили работу или уничтожили сервер имени (orbd) и servertool.
Чтобы завершить работу orbd от командной строки DOS, выберите окно, которое выполняет сервер, и введите Ctrl+C, чтобы завершить работу этого. Чтобы завершить работу orbd от оболочки Unix, найдите процесс, и уничтожьте это. Сервер будет продолжать ожидать вызовов, пока он не будет явно остановлен.
Чтобы завершить работу servertool, ввести quit
и нажмите клавишу Enter на клавиатуре.