UniSet 2.32.1
|
Для конфигурирования системы используется файл (обычно "configure.xml"). Конфигурация является глобальным объектом. Для получения доступа к ней используется функция auto conf = uniset_conf(); До начала работы, обычно в функции main(), конфигурация должна быть инициализирована при помощи функции uniset_init(). При этом третий параметр, указывающий название конфигурационного файла, является не обязательным. По умолчанию обрабатывается аргумент командной строки –confile filename.
Для возможности задать напрямую параметры для omniORB заложена специальная секция <omniORB>.
В данную секцию можно записывать любые параметры поддерживаемые библиотекой omniORB. Формат и название параметров см. документацию по omniORB.
Пример:
Для параметра 'endPoint' встроена дополнительная проверка доступности указанного адреса.
Помимо этого можно задать параметр ignore_checking="1", чтобы не происходило проверки доступности endPoint.
Сервис имён предназначен для получения ссылок на объекты (для возможности удалённого вызова) по имени объекта. В данном проекте используется реализация службы имён входящая в состав библиотеки omniORB. Сервис поставляется отдельной утилитой под названием omniNames, которая запускается отдельно. В файле настроек проекта необходимо указать адрес сервиса
Для большей надёжности рекомендуется запускать сервис имён на каждом узле отдельно, чтобы локальные объекты регистрировались в нём. Но в общем случае сервис имён может быть запущен один на всю систему. Режим работы с использованием сервиса имён, позволяет прозрачно обращаться к объектам где бы они не находились, на других узлах или локально.
Режим работы без сервиса имён включается в настройках
или при запуске, при помощи аргумента командной строки --localIOR 1
Данный режим предназначен для работы без использования сервиса имён (omniNames). При этом IOR-ссылки на объекты и датчики публикуются локально в файлах, в каталоге LockDir
. Такой режим значительно ускоряет запуск приложений, т.к. регистрация большого количества датчиков в сервисе имён занимает много времени. Но по умолчанию в данном режиме работы недоступны удалённые вызовы на другие узлы. Т.е. например такой вызов работать не будет
Для того чтобы удалённые вызовы были доступны, необходимо на каждом узле запустить специальный сервис HttpResolver (см. Http-cервис для получения CORBA-ссылок на объекты (HttpResolver)).