Этот раздел описывает процесс настройки службы Посредника запросов объектов (ORB) Java.
Существует несколько параметров для управления работой Посредника запросов объектов (ORB). С помощью этих параметров можно улучшить производительность приложений, содержащих объекты EJB. Значения этих параметров можно менять для сервера по умолчанию или любого сервера приложений, настроенного в административном домене.
Задает время ожидания в секундах сообщения-запроса.
При использовании сценариев командной строки полное имя этого системного свойства - com.ibm.CORBA.RequestTimeout.
Тип данных | int |
Единицы измерения | сек |
Значение по умолчанию | 180 |
Диапазон значений | 0 - максимальное целое число, допустимое в Java |
Задает количество попыток отправки запроса ORB, если сервер не отвечает. Повторение попыток иногда помогает при кратковременных сетевых неполадках. Это поле игнорируется на платформе z/OS.
При использовании сценариев командной строки полное имя этого системного свойства - com.ibm.CORBA.requestRetriesCount.
Тип данных | int |
Значение по умолчанию | 1 |
Диапазон значений | От 1 до 10 |
Задает интервал в миллисекундах между попытками запроса. Это поле игнорируется на платформе z/OS.
При использовании сценариев командной строки полное имя этого системного свойства - com.ibm.CORBA.requestRetriesDelay.
Тип данных | int |
Единицы измерения | Миллисекунды |
Значение по умолчанию | 0 |
Диапазон значений | От 0 до 60000 |
Задает максимальное число записей, которое может находится в кэше соединения ORB, перед тем как ORB начнет удалять из него неактивные соединения. Это поле игнорируется на платформе z/OS.
Возможно, количество активных соединений в кэше временно превысит это пороговое значение. При необходимости ORB будет продолжать добавлять соединения по мере доступности ресурсов.
При использовании сценариев командной строки полное имя этого системного свойства - com.ibm.CORBA.MaxOpenConnections.
Тип данных | Целое число |
Единицы измерения | Соединения |
Значение по умолчанию | 240 |
Диапазон значений | 10 - максимальное целое число, допустимое в Java |
Задает минимальное количество записей в кэше соединения ORB. Это поле игнорируется на платформе z/OS.
ORB не будет удалять неактивные соединения, если число записей ниже этого значения.
При использовании сценариев командной строки полное имя этого системного свойства - com.ibm.CORBA.MinOpenConnections.
Тип данных | Целое число |
Единицы измерения | Соединения |
Значение по умолчанию | 100 |
Диапазон значений | Любое целое число, которое хотя бы на 5 меньше, чем значение, указанное для свойства Максимальный размер кэша соединения. |
Включает трассировку сообщений протокола ORB General Inter-ORB Protocol (GIOP).
Этот параметр влияет на два системных свойства: com.ibm.CORBA.Debug и com.ibm.CORBA.CommTrace. Если вы устанавливаете эти свойства с помощью командной строки, они оба должны иметь значение true, чтобы трассировка сообщений GIOP была включена.
Тип данных | Булевское значение |
Значение по умолчанию | Выключена (false) |
Задает время ожидания в секундах сообщения LocateRequest. Это поле игнорируется на платформе z/OS.
При использовании сценариев командной строки полное имя этого системного свойства - com.ibm.CORBA.LocateRequestTimeout.
Тип данных | int |
Единицы измерения | сек |
Значение по умолчанию | 180 |
Диапазон значений | от 0 до 300 |
Задает способ использования клиентским ORB туннелирования HTTP. Это поле игнорируется на платформе z/OS.
При использовании сценариев командной строки полное имя этого системного свойства - com.ibm.CORBA.ForceTunnel.
Тип данных | Строка |
Значение по умолчанию | NEVER |
Диапазон значений | Возможны значения: ALWAYS, NEVER или WHENREQUIRED. |
Задает Web-адрес сервлета, используемого для поддержки туннелирования HTTP. Это поле игнорируется на платформе z/OS.
Этот Web-адрес должен иметь следующий формат:
http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet
Для аплетов: http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet.
Это поле обязательно, если установлено туннелирование HTTP. При использовании сценариев командной строки полное имя этого системного свойства - com.ibm.CORBA.TunnelAgentURL.
Задает способ передачи параметров ORB. Если эта опция включена, ORB передает параметры по ссылке, а не по значению, что позволяет избежать дублирования объекта. Если эта опция выключена, то передается копия параметра, а не сам объект параметра. Это может быть неэффективно, поскольку ORB сначала должен сделать копию каждого объекта параметра.
Эту опцию можно использовать, только если клиент специализированных объектов JavaBeans (EJB) и объект EJB находятся в одном загрузчике классов. Это требование означает, что клиент EJB и сам EJB должны быть развернуты в одном файле EAR.
Если клиент и сервер специализированных объектов JavaBeans (EJB) установлены в одном экземпляре продукта, и они используют удаленные интерфейсы, то включение опции передачи по ссылке может улучшить производительность до 50%. Опция передачи по ссылке влияет на быстродействие, только при передаче в качестве параметров сложных типов объектов. Поэтому, типы int и float всегда копируются, независимо от модели вызова.
При использовании сценариев командной строки полное имя этого системного свойства - com.ibm.CORBA.iiop.noLocalCopies.
Тип данных | Булевское значение |
Значение по умолчанию | Выключена (false) |
Использование этой опции для объектов EJB с удаленными интерфейсами нарушает Спецификацию Enterprise JavaBeans (EJB) версии 2.0 (см. раздел 5.4). Ссылки на объекты, передаваемые методам объектов JavaBeans (EJB), не копируются и могут быть повреждены.
Iterator iterator = collection.iterator(); MyPrimaryKey pk = new MyPrimaryKey(); while (iterator.hasNext()) { pk.id = (String) iterator.next(); MyEJB myEJB = myEJBHome.findByPrimaryKey(pk); }
В этом примере, ссылка на один и тот же объект MyPrimaryKey передается в продукт каждый раз с другим значением ИД. Выполнение этого исходного кода со включенной передачей по ссылке вызовет неполадку в сервере приложений, потому что разные объекты EJB ссылаются на один и тот же объект MyPrimaryKey. Для того чтобы избежать этого, установите системное свойство com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation в true, если включена опция передачи по ссылке. Если опция передачи по ссылке имеет значение true, то контейнер объекта EJB создает локальную копию объекта PrimaryKey. Однако, в результате этого немного снижается выигрыш в быстродействии от установки опции передачи по ссылке.
Как правило, любой исходный код приложения, передающий методу объекта EJB ссылку на объект в качестве параметра, должен быть тщательно изучен, для того чтобы определить, не приведет ли это к нарушению целостности данных или другим проблемам.
После проверки исходного кода можно включить опцию передачи по ссылке, установив значение системного свойства com.ibm.CORBA.iiop.noLocalCopies равным true. Можно также включить опцию передачи по ссылке в административной консоли. Для этого, выберите Серверы > Типы серверов > Серверы приложений > имя-сервера > Службы контейнера > Служба ORB , а затем Передача по ссылке.
Ссылки, помеченные как (в сети), требуют подключения к Internet.