Файлы свойств Java VM

Файлы свойств Java VM используются для передачи дополнительных опций виртуальной машине Java, запускающей SberMobile Server. Эти файлы находятся в одной директории с самими запускающими модулями, т.е. в папке установки SberMobile. Их названия соответствуют названиям запускающих модулей и имеют расширение .vmoptions.

Дополнительные опции Java VM хранятся в файле sbermobile_iiot_server.vmoptionsдля запускаемого модуля sbermobile_iiot_server.exe, thalamus_server_console.vmoptions для запускаемого модуля thalamus_server_console, и thalamus_server_service.vmoptions для запускаемого модуля thalamus_server_service.

В этих *.vmoptions файлах каждая строка интерпретируется как единичный параметр виртуальной машины.

Необходимо добавить новый символ перевода строки (т.е., нажать ENTER, когда закончится ввод текста строки) в конце каждой строки файла .vmoptions. Если в конце строки нет нового символа перевода строки, она не будет учитываться!

Например, если у вас имеется однострочный файл .vmoptions, строка должна заканчиваться новым символом перевода строки.

Изменение языка

Каждый файл свойств запускающего модуля .vmoptions по умолчанию содержит опцию -Duser.language=X, которая определяет язык, используемый SberMobile Serverом. Язык по умолчанию выбирается в процессе установки SberMobile Serverа.

Если язык был изменен после первого запуска SberMobile Serverа, база данных будет содержать в языке данные (описание ситемного ресурса, события и т.д.), которые были активны во время предыдущих запусков.

Изменение пути к классу

Следующие опции нужно добавить к файлам *.vmoptions, чтобы изменить путь к классу SberMobile Server'а Виртуальной Машины Java:

-classpath [classpath]

Замена путь к классу сгенерированного запускающего модуля.

-classpath/a [classpath]

Добавка в конец пути к классу сгенерированного запускающего модуля.

-classpath/p [classpath]

Вставка в начало пути к классу сгенерированного запускающего модуля.

Важно поставить один пробел между параметром -classpath и его значением.

НОВЫЙ ТЕРМИН: Путь к классу - это имя каталога, указывающее, где в локальной системе находятся компилируемые файлы Java.

Опция Файла Свойств Запускающих Модулей Добавка в конец пути к классу нужна в случае создания новых библиотек Java, доступных для SberMobile Serverа. Например, путь к файлу драйвера Соединение с Базой Данных Java следует добавить в конец пути к классу, когда переходите на другой механизм базы данных.

Настройка использования памяти

Следующие опции можно добавить к файлам *.vmoptions, чтобы контролировать объём памяти, используемый SberMobile Serverом:

-Xms

Исходный объем памяти, используемый SberMobile Serverом. За этим параметром должно следовать количество мегабайт и символ m, без пробелов. Например, параметр -Xms200m даёт указание SberMobile Serverу использовать 200 мегабайт памяти при запуске.

Значение по умолчанию - 100 мегабайт.

-Xmx

Максимальный объем памяти, который может использоваться SberMobile Serverом. За этим параметром должно следовать количество мегабайтов и символом m, без пробелов. Например, параметр -Xmx1024m даёт SberMobile Serverу команду использовать максимум 1 гигабайт.

Значение по умолчанию - 800 мегабайт.

Слишком высокое значение параметра -Xmx может привести к сбою запуска SberMobile Serverа, потому что Виртуальной Машине Java требуется данный объем памяти, имеющийся в одном непрерывном блоке. В этом случае перейдите в 64-битную операционную систему и установите 64-битную версию SberMobile Serverа.

-Xss

Размер стека одиничного потока сервера - 128 килобайт по умолчанию. Размер стека нужно уменьшить, если сбой при создании потока вызвал ошибку Нехватка Памяти, появившуюся в журнале регистрации SberMobile Serverа. Увеличьте размер стека, если драйверы устройств или системные компоненты приводят к ошибке Переполнение Стека.

Настройка прокси сервера

Следующие свойства можно добавить к файлам *.vmoptions, чтобы включить использование прокси сервера для подключения SberMobile Server к интернету:

-Dhttp.proxyHost

Имя хоста или адрес прокси сервера с поддержкой HTTP

-Dhttp.proxyPort

Номер порта прокси сервера с поддержкой HTTP

-Dhttp.proxyUser

Имя пользователя на случай, если HTTP прокси сервер запрашивает аутентификацию

-Dhttp.proxyPassword

Пароль на случай, если HTTP прокси сервер запрашивает аутентификацию

-Dhttp.nonProxyHosts

Указывает хосты, доступ к которым не осуществляется через прокси. Обычно, это внутренние хосты. Значение этого свойства - список хостов, разделенных символом '|'. Кроме этого может использоваться специальный символ '*' для соответствия шаблону. Например, Dhttp.nonProxyHosts=”*.foo.com|localhost” будет показывать, что доступ по всем хостам в домене foo.com и на локальной машине должен осуществляться напрямую, даже если указан прокси сервер.

Обратите внимание, что обработчик протокола HTTPS будет использовать то же свойство nonProxyHosts, что и для HTTP протокола.

-Dhttps.proxyHost

Имя хоста или адрес прокси сервера с поддержкой HTTPS

-Dhttps.proxyPort

Номер порта прокси сервера с поддержкой HTTPS

-Dhttps.proxyUser

Имя пользователя на случай, если HTTPS прокси сервер запрашивает аутентификацию

-Dhttps.proxyPassword

Пароль на случай, если HTTPS прокси сервер запрашивает аутентификацию

-Dsocks.proxyHost

Имя хоста или адрес прокси сервера с поддержкой SOCKS

-Dsocks.proxyPort

Номер порта прокси сервера с поддержкой SOCKS

-Dsocks.proxyUser

Имя пользователя на случай, если SOCKSv5 сервер запрашивает аутентификацию

-Dsocks.proxyPassword

Пароль на случай, если SOCKSv5 сервер запрашивает аутентификацию

SOCKS позволять осуществлять туннелирование на более низком уровне, т.к. работает на уровне TCP. Если в настройках стоит SOCKS прокси сервер, все TCP соединения пойдут через прокси, если не указаны другие прокси.

Изменение опций использования сокетов

Следующие опции можно добавить к файлам *.vmoptions, чтобы изменить сетевые параметры, используемые SberMobile Server:

-Dsun.net.maxDatagramSockets

Устанавливает максимальное количество сокетов датаграмм. Опция позволяет увеличить число UDP-сокетов, которые может использовать виртуальная машина Java, например, если при попытке синхронизировать большое количество устройств вы столкнетесь с  ошибкой SNMP "достигнуто максимальное количество сокетов датаграмм".