Как исправить исключение java.io.NotSerializableException: org.apache.jmeter.JMeter $ ListenToTest в JMeter? - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь делать распределенные тесты, используя JMeter 5.1.1. Я использовал руководство от здесь , но у меня проблема с указанием порта для подключения сервера (подчиненного) к клиенту (ведущему). Когда я использую client.rmi.localport в jmeter.properties на ведущем устройстве, появляется следующая ошибка:

ОШИБКА oajuJMeterUtils: Ошибка в методе rconfigure () java.rmi.MarshalException: ошибка, приводящая к аргументам маршалинга;Вложенное исключение: java.io.NotSerializableException: org.apache.jmeter.JMeter $ ListenToTest

Мне удалось управлять с другими портами, только этот доставляет мне проблемы. Я использую режим nonGUI. Как я могу это исправить / указать порт?

Журналы от мастера:

[...]

ОШИБКА oajeConvertListeners: Произошло исключение RemoteException при замене элемента Remotable. java.rmi.server.ExportException: Сбой прослушивания на порте: 4453;Вложенное исключение: java.io.IOException: Не удалось привязать к XXX / XXX.XXX.XXX.XXX с использованием порта 4453

[...]

Причина: java.io. IOException: Не удалось привязать к XXX / XXX.XXX.XXX.XXX с использованием порта 4453 в org.apache.jmeter.rmi.SSLRMIServerSocketFactory.createServerSocket (SSLRMIServerSocketFactory.java:139) ~ [ApacheJ18jar.rmi.transport.tcp.TCPEndpoint.newServerSocket (Неизвестный источник) ~ [?: 1.8.0_231] ... еще 22 причины: java.net.BindException: Адрес уже используется: JVM_Bind

[. ..]

ОШИБКА oajeClientJMeterEngine: ошибка в методе rconfigure () java.rmi.MarshalException: ошибка при сортировке аргументов;вложенное исключение: java.io.NotSerializableException: org.apache.jmeter.JMeter $ ListenToTest at sun.rmi.server.UnicastRef.invoke (неизвестный источник) ~ [?: 1.8.0_231]

[.. .]

jmeter.properties на мастере:

[...]

remote_hosts = XXX.XXX.XXX.XXX: 4454

[...]

client.rmi.localport = 4451

[...]

jmeterengine.nongui.port = 4448

[...]

Редактировать: Изменен JMeter до версии 5.2 из-за проблемы в комментариях.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2019

Мне помогло отключение безопасного канала между клиентом и серверами - у меня больше не было этой ошибки, и я мог указать порты. Однако я предлагаю делать это ТОЛЬКО если ваша среда (и клиентская, и серверная) работает в частной сети.

0 голосов
/ 12 ноября 2019

Эта ошибка:

Address already in use: JVM_Bind

четко указывает, что Java пыталась использовать определенный сетевой порт , который используется тем или иным процессом, рассмотрите возможность использования netstat программа для определения процесса, который удерживает порт, и либо прекращения этого процесса, либо выбора другого порта.

Имейте в виду, что RemoteThreadsListenerImpl использует некоторое смещение , поэтому фактический порт будет выше, чем тот, который вы указали в свойстве.

К сожалению, не очень понятно, какие порты вы хотите использовать на машинах JMeter Master и Slave, поэтому пока могу только предложить ознакомиться со следующими материалами:

последний пример использования пользовательских портов для пересылки результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...