OpenJdk 21 не поддерживает Chronicle-Queue

Я попытался запустить Chronicle-Queue под openJdk21, следуя методу, указанному в адресе ссылки https://github.com/OpenHFT/OpenHFT/blob/ea/docs/Java-Version-Support.adoc, и возникла следующая ошибка:

      Exception in thread "main" java.lang.ExceptionInInitializerError
    at net.openhft.chronicle.queue.impl.single.SingleChronicleQueueBuilder.<clinit>(SingleChronicleQueueBuilder.java:70)
    at net.openhft.chronicle.queue.ChronicleQueue.singleBuilder(ChronicleQueue.java:106)
    at com.example.virtualthreads.QueueTest.main(QueueTest.java:21)
Caused by: java.lang.IllegalStateException: Not found: sun.nio.ch.UnixFileDispatcherImpl
    at net.openhft.chronicle.core.OS.findClass(OS.java:131)
    at net.openhft.chronicle.core.OS.<clinit>(OS.java:100)
    ... 3 more
Caused by: java.lang.ClassNotFoundException: sun.nio.ch.UnixFileDispatcherImpl
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
    at net.openhft.chronicle.core.OS.findClass(OS.java:128)
    ... 4 more

Я передал следующие параметры:

      --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED
--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-opens=jdk.compiler/com.sun.tools.javac=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED

Я написал тестовый код:

      String basePath = "opt/queue";
try (ChronicleQueue queue = ChronicleQueue.singleBuilder(basePath).build()) {
  ExcerptAppender appender = queue.acquireAppender();
  appender.writeText("Hello World!");
  ExcerptTailer tailer = queue.createTailer();
  assertEquals("Hello World!", tailer.readText());
}

0 ответов

Другие вопросы по тегам