Я нашел массу документации о том, как включить javax.net.debug для SSL, TLS и т.п., но даже в справочной документации я не нашел, как полностью отключить его, программно переопределив предыдущий параметр.

Моя точная проблема заключается в том, что в экземпляре Tomcat другое приложение выполняет следующую инструкцию:

System.setProperty("javax.net.debug","all");

И это приводит к тому, что размер файла catalina.out быстро увеличивается и становится нежелательным.

Я уже пытался перезаписать его из своего кода Java с той же инструкцией, с " none ", " off " и " false " значения, но без результата, все еще регистрируя много материала TLS.

Например, в своем приложении я добавил эту инструкцию:

System.setProperty("javax.net.debug","none");

Но все же я получаю полный журнал.

1
itomainu 22 Окт 2018 в 17:25

2 ответа

Лучший ответ

Проблема в том, что приложение tomcat перезаписывает любое значение, которое вы даете из командной строки, и если нет способа контролировать то, что делает этот код, вы действительно не можете перезаписать его из аргументов командной строки. Хотя диспетчер безопасности может предотвратить установку свойства, он может сделать это, только выбросив исключение, которое, вероятно, вызовет больше проблем, чем решит.

В этом случае ваш единственный вариант - установить значение самостоятельно из кода после того, как его установит другой код.

В случае javax.net.debug этот параметр должен быть установлен на его окончательное значение до запуска статического статического инициализатора класса отладки sun.*, то есть до появления первого сообщения , Это может быть отключено любым значением, которое не используется в качестве некоторой опции (пустая строка или никакая не должна отключать ее). Если он установлен позже, он не будет иметь никакого эффекта, и его нельзя будет отключить постфактум (за исключением некоторых плохих хаков отражения для доступа к внутренним компонентам этого класса, которые возможны только с java 8 и ранее)

3
barteks2x 23 Окт 2018 в 12:50

Если есть аргумент виртуальной машины, который включает ведение журнала SSL, попробуйте удалить их, кроме того, вы можете проверить файл eclipse.ini, чтобы увидеть, объявлены ли там эти аргументы или нет.

0
Java.net 22 Окт 2018 в 14:33
52931702