
Badya
16.10.2018
08:33:14

Alexandr
16.10.2018
08:33:37

Vladimir
16.10.2018
08:34:06

Alexandr
16.10.2018
08:34:24

Google

Vladislav
16.10.2018
08:34:33

Alexandr
16.10.2018
08:34:41

Vladislav
16.10.2018
08:35:42

Vladimir
16.10.2018
08:36:03

Alexander
16.10.2018
08:36:29
Кому-нибудь удалось запустить jmh с multiplatform сборкой? Вроде там все есть, но чего-то сил нет в исходниках ковыряться.

Vladislav
16.10.2018
08:36:34
в main всех создаешь, в finally блоке всем делаешь close

Vladimir
16.10.2018
08:37:44

Vladislav
16.10.2018
08:38:22
ну можно положить в список и сделать forEach { it.close() }

Badya
16.10.2018
08:38:29

Vladimir
16.10.2018
08:39:01
ну не все выгружать
А что там ещё, кроме тонны проксей?
Сгенерированный код, поднимающий контекст, можно было бы выгружать, но его же куда меньше.

Alexandr
16.10.2018
08:40:06

Alexander
16.10.2018
08:40:57
Не понял

Google

Alexander
16.10.2018
08:41:43
Он не работает, потому что по умолчанию зависит от кода в main, а этого самого main нет. Как прописать ему зависимость от другого сорус сета?

Alexandr
16.10.2018
08:42:02

Vladimir
16.10.2018
08:42:20

Alexandr
16.10.2018
08:42:34

Vladimir
16.10.2018
08:43:28
kofu? там руками все писать
Spring Boot некоторые метаданные собирает при сборке, чтобы по classpath не бегать. Кто-то там из pivotal сделал micronaut, в котором всё генерится при сборке.

Alexander
16.10.2018
08:43:31

Alexandr
16.10.2018
08:44:03
вот в jvm модуле его и надо описать и запускать

Alexander
16.10.2018
08:44:21
Это и ежу понятно. Надо прицепить именно к jvm

Alexandr
16.10.2018
08:44:33
а в чем проблема?

Alexander
16.10.2018
08:44:56
В новых мультилплатформенных проектах все вместе, а jvm код сидит не в стандартном main соурссете

Alexandr
16.10.2018
08:45:13
jmh gradle plugin, он добавляет в src еще одну папочку, которая становится еще одним соурсетом

Alexander
16.10.2018
08:45:16
В jvmMain
Это понятно, но он при этом не видит основного соурссета
По-умолчанию, он зависит от main.

Alexandr
16.10.2018
08:46:14

Alexander
16.10.2018
08:46:37
Смотрел. Нету. Может есть недокументированная крутилка

Alexandr
16.10.2018
08:47:28
тогда нужен feature request
а плагин 2 соурсета сгенерит? java и kotlin?

Google

Alexander
16.10.2018
08:47:50
Нашел, гвоздями оно прибито: https://github.com/melix/jmh-gradle-plugin/blob/8df7e61449666a45dbe93d19cdbc87813416f5f5/src/main/groovy/me/champeau/gradle/JMHPlugin.groovy#L166

Alexandr
16.10.2018
08:47:53
в jmh
хах

Kirill
16.10.2018
08:48:12

Alexandr
16.10.2018
08:48:13
тикет в гитхаб

Alexander
16.10.2018
08:48:24
Фиг его знает. С чистым котлиновским проектом работал

dimiii
16.10.2018
08:48:53
lovehate?
Нужно больше интерактивности. Совмещенный стриминг, например.

Alexandr
16.10.2018
08:49:00
а в новой модели нельзя по разным подпроектам платформенные модули держать?
как по мне это приоритетнее

Alexander
16.10.2018
08:49:18
Можно, но она сделана чтобы этого не делать.
Если бы был IR, то можно было бы это делать.

Alexandr
16.10.2018
08:51:23

Alexander
16.10.2018
08:51:42
Нет пока. Эту штуку торопить нельзя.

Alexandr
16.10.2018
08:51:54
эх

Alexey
16.10.2018
09:00:06

Alexander
16.10.2018
09:01:38

Alexey
16.10.2018
09:01:41

Igor
16.10.2018
09:02:59

Alexey
16.10.2018
09:03:24

Google

Igor
16.10.2018
09:05:03
Чето сходу не понятно, когда такое нужно

Alexander
16.10.2018
09:05:47

Igor
16.10.2018
09:06:42
Хм, и это обязательно решать через DI?

Alexander
16.10.2018
09:06:47
Нет
Более того, наверное лучше не надо. Но для того, чтобы решать это не через DI надо исходно архитектуру лучше продумывать. Все проблемы от лени
Это кстати и не DI, это контроль жизненного цикла. Кто виноват, что эти две вещи всегда в одну кучу мешают?

Vladimir
16.10.2018
09:35:11

Alexander
16.10.2018
09:36:30
Держать реестр этех объектов, которые надо зачищать. Собственно ваш спринг или что-то там так и делает

Admin
ERROR: S client not available

Alexander
16.10.2018
09:37:06
В действительности объектов, которые надо зачищать довольно мало. Часто AutoCloseable достаточно

Vladimir
16.10.2018
09:37:57

Alexander
16.10.2018
09:38:34
Это всегдашний спор готовить еду дома или есть в ресторане
AutoCloseable сам себя зачищает при выгрузке класса. Другое дело, что момент выгрузки не контролируется

Vladimir
16.10.2018
09:39:58

Руслан
16.10.2018
09:39:59

Alexander
16.10.2018
09:40:40
там не совсем GC, скорее когда объект уходит из употребления

Vladimir
16.10.2018
09:42:51

Руслан
16.10.2018
09:43:36
Там на shutdown хук висит. Произошла ошибка -> пошел shutdown -> вызвалось закрытие всего что наинициализировал

Andrey
16.10.2018
09:44:21

Google

Andrey
16.10.2018
09:44:22
не ?

Alexander
16.10.2018
09:44:51
В том числе
В случае try() просто момент закрытия контролируется

Andrey
16.10.2018
09:45:25
сомневаюсь что кто то его в файналайз пихает

Vladimir
16.10.2018
09:45:30

Alexandr
16.10.2018
09:57:32

Andrew
16.10.2018
10:06:55

Alexander
16.10.2018
10:07:29
Треп я пропустил. Спринг меня вот вообще не волнует

Alexandr
16.10.2018
10:08:03

Andrew
16.10.2018
10:09:15
Это как?
kotlin {
targets {
fromPreset(presets.jvmWithJava, 'targetName') // вместо presets.jvm
}
}

Alexander
16.10.2018
10:09:46
О, я такое в первый раз вижу. А что оно делает?

Andrew
16.10.2018
10:09:50
Как минимум application-плагину с ним становится сильно легче, ибо он прибит гвоздями к java, ЕМНИП.

Alexander
16.10.2018
10:10:12
щас попробую

Andrew
16.10.2018
10:10:31
(Ну и позволяет мешать котлин и джава-код, но это, как выяснилось, не главное его преимущество :D)
https://youtrack.jetbrains.com/issue/KT-27272
https://youtrack.jetbrains.com/issue/KT-27273
А вообще jvmWithJava временное решение и есть вероятность, что его выпилят, когда обычный jvm подружат с джавой. Как — ещё неизвестно.

Alexander
16.10.2018
10:34:58
У меня только вылетели commonTest-ы
А, стоп, они похоже не из-за этого вылетели