Size: a a a

2021 March 22

SD

S D in pro.jvm
Надо пропатчить jdk8 от бага https://bugs.openjdk.java.net/browse/JDK-8147822. Нашёл как это сделать здесь https://stackoverflow.com/a/33631635/3557939, конкретно — через Java-агент, но что-то не соображу, как это всё аккуратно упаковать в один проект. Может есть у кого полный пример подобного проекта?
источник

ch

central hardware in pro.jvm
Написано же надо подменить rt.jar лежит где то в файлах jvm
источник

SD

S D in pro.jvm
central hardware
Написано же надо подменить rt.jar лежит где то в файлах jvm
Уточнил вопрос. Через подмену, написано, что в общем так нельзя.
источник

SD

S D in pro.jvm
В общем, правильно ли будет, если я свой пропатченный ListView.java просто скомпилирую из командной строки как javac ListView.java, получив в итоге набор файлов:

'ListView$1.class'
'ListView$2.class'
'ListView$3.class'
'ListView$4.class'
'ListView$5.class'
'ListView$6.class'
'ListView$7.class'
'ListView$EditEvent.class'
'ListView$ListViewBitSetSelectionModel$1.class'
'ListView$ListViewBitSetSelectionModel$2.class'
'ListView$ListViewBitSetSelectionModel.class'
'ListView$ListViewFocusModel$1.class'
'ListView$ListViewFocusModel.class'
'ListView$StyleableProperties$1.class'
'ListView$StyleableProperties$2.class'
'ListView$StyleableProperties.class'
ListView.class

а затем положу только 'ListView$EditEvent.class' (нужно патчить именно вложенный в ListView класс EditEvent) в ресурсы библиотеки с агентом, откуда буду читать его в виде массива байтов, возвращая этот массив из трансформера?
источник

SD

S D in pro.jvm
Трансформер вызывается, но сам патченный класс почему-то не используется
источник

SD

S D in pro.jvm
Transform ListView
Transform ListView$EditEvent
Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: javafx.stage.Stage cannot be cast to javafx.scene.control.ListView
источник

ОК

Олег Коротков... in pro.jvm
central hardware
Редирект динамические?
Статитика, там при аутентифицакии в основном)
источник

E

Evgeniy ♎️ in pro.jvm
S D
В общем, правильно ли будет, если я свой пропатченный ListView.java просто скомпилирую из командной строки как javac ListView.java, получив в итоге набор файлов:

'ListView$1.class'
'ListView$2.class'
'ListView$3.class'
'ListView$4.class'
'ListView$5.class'
'ListView$6.class'
'ListView$7.class'
'ListView$EditEvent.class'
'ListView$ListViewBitSetSelectionModel$1.class'
'ListView$ListViewBitSetSelectionModel$2.class'
'ListView$ListViewBitSetSelectionModel.class'
'ListView$ListViewFocusModel$1.class'
'ListView$ListViewFocusModel.class'
'ListView$StyleableProperties$1.class'
'ListView$StyleableProperties$2.class'
'ListView$StyleableProperties.class'
ListView.class

а затем положу только 'ListView$EditEvent.class' (нужно патчить именно вложенный в ListView класс EditEvent) в ресурсы библиотеки с агентом, откуда буду читать его в виде массива байтов, возвращая этот массив из трансформера?
нет, надо всё закидывать
источник

E

Evgeniy ♎️ in pro.jvm
а ещё компилить надо также как вы и собираете своё приложение, а потом просто выдрать нужные классы
источник

SD

S D in pro.jvm
Evgeniy ♎️
а ещё компилить надо также как вы и собираете своё приложение, а потом просто выдрать нужные классы
Спасибо, попробую
источник

M

Maria in pro.jvm
Всем привет! Кто-то может подсказать, как правильно писать сохранение в файлы в джаве?
источник

D

Dima in pro.jvm
Maria
Всем привет! Кто-то может подсказать, как правильно писать сохранение в файлы в джаве?
источник

КВ

Кирилл Веревкин... in pro.jvm
Всем привет.
Вопрос по проектированию API и best practice.
Есть система, которая хранит информацию о товарах. Информация о товарах ведется в разрезе атрибутов и у этих атрибутов может быть много различных типов (Например Строка, Текст, Число, Список (состоит из идентификатора элемента и его строкового наименования) и ссылка на справочник (сложный тип, состоит из идентификатора элемента, его наименования и переченя атрибутов этого справочника (может быть произвольным)).

Вопрос, как наиболее правильно в API возвращать эту информацию? Т. е. у нас есть атрибут и его значение может иметь разную структуру, как наиболее правильнее по вашему отдавать эту информацию и описать на это контракт в спеке?

Может есть где-то примеры публичных спек на такое дело, ознакомился бы с радостью
источник

b

borsch in pro.jvm
Кирилл Веревкин
Всем привет.
Вопрос по проектированию API и best practice.
Есть система, которая хранит информацию о товарах. Информация о товарах ведется в разрезе атрибутов и у этих атрибутов может быть много различных типов (Например Строка, Текст, Число, Список (состоит из идентификатора элемента и его строкового наименования) и ссылка на справочник (сложный тип, состоит из идентификатора элемента, его наименования и переченя атрибутов этого справочника (может быть произвольным)).

Вопрос, как наиболее правильно в API возвращать эту информацию? Т. е. у нас есть атрибут и его значение может иметь разную структуру, как наиболее правильнее по вашему отдавать эту информацию и описать на это контракт в спеке?

Может есть где-то примеры публичных спек на такое дело, ознакомился бы с радостью
jackson поддерживает  серелизацию  с типами. типа такого
"Submitting Party - ID Type": [
         "package.name.SubmittingPartyIdType",
         "LEI"
       ],
       "Exchange Rate Basis Currency 1": [
         "java.util.Currency",
         "USD"
       ],


я хз на сколько это удобно для фронта, но можно попробовать что-то типа этого. тогда получится поле одно, но тип и значение может быть разным
источник

WT

Waldemar Tsiamruk in pro.jvm
borsch
jackson поддерживает  серелизацию  с типами. типа такого
"Submitting Party - ID Type": [
         "package.name.SubmittingPartyIdType",
         "LEI"
       ],
       "Exchange Rate Basis Currency 1": [
         "java.util.Currency",
         "USD"
       ],


я хз на сколько это удобно для фронта, но можно попробовать что-то типа этого. тогда получится поле одно, но тип и значение может быть разным
ой как плохо это ломает абстракцию)
источник

WT

Waldemar Tsiamruk in pro.jvm
сразу видно что на java )
источник

IP

Iaroslav Postovalov in pro.jvm
Waldemar Tsiamruk
сразу видно что на java )
Давайте без максимализма. Если в языке идиоматично выглядит наследование, то повесить на каждый класс метку через аннотацию - лучшее решение. Вот как в примере выше - имя класса прокидывать - это действительно плохо и годится только для кэшей каких-то.
источник

VP

Vladimir Petrakovich in pro.jvm
Iaroslav Postovalov
Давайте без максимализма. Если в языке идиоматично выглядит наследование, то повесить на каждый класс метку через аннотацию - лучшее решение. Вот как в примере выше - имя класса прокидывать - это действительно плохо и годится только для кэшей каких-то.
Это как java serialization
источник

IP

Iaroslav Postovalov in pro.jvm
Vladimir Petrakovich
Это как java serialization
А java serialization годится для чего? Правильно, для кэшей каких-то.
источник

b

borsch in pro.jvm
Iaroslav Postovalov
Давайте без максимализма. Если в языке идиоматично выглядит наследование, то повесить на каждый класс метку через аннотацию - лучшее решение. Вот как в примере выше - имя класса прокидывать - это действительно плохо и годится только для кэшей каких-то.
1. мой пример - internal json for server-2-server communication
2. я не говорил использовать внутренние типы. наверное есть какой то Open API specification и там уже есть имена типов. их и можно использовать
источник