Похоже, это связано с https://bugs.openjdk.org/browse/JDK-8340992 и https://bugs.openjdk.org/browse/JDK-8336862, но обходных путей не предусмотрено.
Есть ли обходной путь, который можно реализовать во время выполнения?
Единственные обходные пути, которые мы можем придумать:
- Переписать все на другом языке. Непростая задача.
- Понизьте все экземпляры Java/JDK до версии 21.0.3 и не применяйте никаких обновлений безопасности.
- Прекратите всю работу и начните заново за любые отключения RDP, вызванные намеренным отключением пользователя, проблемами с Интернетом и т. д. Это то, где мы сейчас находимся, и это вызывает проблемы в работе.
Это будет также, похоже, является нарушением «контракта», где незначительный момент выпуски не должны вызывать критические изменения.
В основном мы используем простые приложения, состоящие из JFrames, JTextComponents и ProgressMonitor с парой самостоятельных -размещенные приложения JediTerm.
Код, демонстрирующий проблему. ДОЛЖЕН ЗАПУСКАТЬ В СЕССИИ RDP:
import javax.swing.*;
import java.awt.*;
//TIP To Run code, press or
// click the icon in the gutter.
public class Main {
public static void main(String[] args) throws InterruptedException {
var delay = 10;
var isHeadless = GraphicsEnvironment.isHeadless();
System.out.printf("1) Is headless: %s.%n", isHeadless);
System.out.printf("Sleeping %,d seconds.%n", delay);
System.out.printf("""
DISCONNECT YOUR REMOTE DESKTOP CONNECTION NOW!
RECONNECT AFTER %,d SECONDS.
""", delay);
Thread.sleep(delay * 1_000);
System.out.println("Drawing progress bar");
ProgressMonitor p = new ProgressMonitor(null, "Test progressbar", "My note", 0, 100);
for (int i = 0; i < 100; i++) {
p.setProgress(i);
Thread.sleep(250);
}
isHeadless = GraphicsEnvironment.isHeadless();
System.out.printf("2) Is headless: %s.%n", isHeadless);
//TIP Press with your caret at the highlighted text
// to see how IntelliJ IDEA suggests fixing it.
System.out.printf("Hello and welcome!");
for (int i = 1; i
Подробнее здесь: https://stackoverflow.com/questions/792 ... -exception
Мобильная версия