Size: a a a

2018 September 14

ST

Slava Tutrinov in graalvm_ru
вот в логбэке хотел поменять, но посмотрел код более свежих версий - там всё и без меня поправили
источник

N

Nick in graalvm_ru
получается для грааля нужно будет код править и сходу он не факт что заработает?
источник

ST

Slava Tutrinov in graalvm_ru
не факт, с reflection проблема решается конфигами, а вот с JNI конфиг мне не помог
источник

ST

Slava Tutrinov in graalvm_ru
linkageError валится
источник

N

Nick in graalvm_ru
Slava Tutrinov
linkageError валится
а для простых смертных объясните что это значит
источник

AP

Andrey Panov in graalvm_ru
Slava Tutrinov
пытаюсь с помощью native-image собрать бинарник с vert.x , который будет крутиться с параметром  -cluster (cluster manager = zookeeper) - пока добился того, что бинарник стартует без траблов (reflections, jni ...) , но коннект с зукипером пока не работает
А что тебе это даст? Ты ожидаешь большей производительности видимо!?
источник

ST

Slava Tutrinov in graalvm_ru
Nick
а для простых смертных объясните что это значит
как я для себя понял: есть метод в джава классе, помеченный как native, то есть для его работы нужен внешний so-файл с некой либой линуксовой, в JVM это всё работает, в SustrateVM  с jNI всё не так просто, он выключен (но я могу ошибаться), и native-методы надо ключать ручками флагом запуска native-image. OK ,включим ручками, native метод типа появлется в рантайме, НО его вызов валится с ошибкой linkageError
источник

ST

Slava Tutrinov in graalvm_ru
Andrey Panov
А что тебе это даст? Ты ожидаешь большей производительности видимо!?
производительность - да, но ещё хочется спрятать код от любопытных глаз
источник

ST

Slava Tutrinov in graalvm_ru
ну и for fun
источник

ST

Slava Tutrinov in graalvm_ru
вот кусок стека
источник

ST

Slava Tutrinov in graalvm_ru
Reflection.getCallerClass - native метод
источник

N

Nick in graalvm_ru
Slava Tutrinov
как я для себя понял: есть метод в джава классе, помеченный как native, то есть для его работы нужен внешний so-файл с некой либой линуксовой, в JVM это всё работает, в SustrateVM  с jNI всё не так просто, он выключен (но я могу ошибаться), и native-методы надо ключать ручками флагом запуска native-image. OK ,включим ручками, native метод типа появлется в рантайме, НО его вызов валится с ошибкой linkageError
спасибо, стал понятен круг проблем
источник

T

Toli in graalvm_ru
Slava Tutrinov
производительность - да, но ещё хочется спрятать код от любопытных глаз
Компилятор оставляет миллион комментариев, по которому можно написать код потом) имеет смысл избавиться от них тоже
источник
2018 September 20

ST

Slava Tutrinov in graalvm_ru
есть какой-нибудь workaround по решению вот этой проблемы?
https://github.com/oracle/graal/issues/460
источник

ПФ

Паша Финкельштейн in graalvm_ru
Использовать Externalizable?
источник

ST

Slava Tutrinov in graalvm_ru
хм, хороший  вариант, но хотелось без сильного переписывания зукипера)
источник

ST

Slava Tutrinov in graalvm_ru
нет, я не запускаю сборку зукипера в native-image)
источник

ST

Slava Tutrinov in graalvm_ru
может там где-то уже есть какие-то наработки, хотя бы в снэпшотном виде?
источник

OS

Oleg Shelajev in graalvm_ru
А что ты запускаешь?
источник

ST

Slava Tutrinov in graalvm_ru
запускаю vert.x в кластерном режиме, кластер-менеджер - зукипер
источник