Articles of Котлинский

Реактор switchifempty не ведет себя так, как ожидалось, в тесте junit

Я пишу тесты для метода ниже. ` class ScrapedRecipeCache @Autowired constructor(private val cache: RecipeScrapingCacheService, private val recipeService: RecipeService) : ScrapedRecipeProvider { override fun provide(request: ScrapingRequest): Flux<ScrapedRecipe> = cache.retrieve(request.link) .doOnNext { println(it) } .flatMap { (link, _, recipeHash, error) -> recipeService.findByHash(recipeHash) .map { ScrapedRecipe(it, link, error)} .switchIfEmpty(cache.remove(request.link).then(Mono.empty())) } .flux() } `Тест выглядит следующим образом: private val […]

Android / Kotlin: неразрешенные ссылки: древесина

Я пытаюсь написать библиотеку kotlin для Android и не могу включить лес. Я всегда получаю следующую ошибку: Error:error: unresolved reference: timber У меня это в моем build.gradle: apply plugin: 'java-library' apply plugin: 'kotlin' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version" } sourceCompatibility = "1.8" targetCompatibility = "1.8" buildscript { ext.kotlin_version = '1.1.2-4' repositories […]

Spring WebFlux: разрешен только один абонент

Я пишу простое приложение с Spring 5 Webflux и Kotlin. Я пытаюсь реализовать конечную точку PUT следующим образом: PUT("/confs/{id}", { val id = it.pathVariable("id") ServerResponse.ok().body(service.save(it.bodyToMono(Item::class.java)), Item::class.java) }) Трюк в спасении заключается в том, что я пытаюсь прочитать название города из объекта, разрешить геокоординаты, перезаписать их в исходном элементе, а затем сохранить в Mongo, используя Spring […]

Использование publishOn и subscribeOn в потоке приводит к тому, что ничего не происходит

Всякий раз, когда я использую оба subscribeOn и publishOn, ничего не печатается. Если я использую только один, он будет печататься. Если я использую subscribeOn (Schedulers.immediate ()) или эластичный, он работает. Любые идеи, почему это так? Насколько я понимаю, publishOn влияет на то, что поток публикуется и подписывается на то, какой поток выполняет абонент. Не могли […]

У Котлина есть сборщик мусора? Если да, то на каком алгоритме он основан?

Я делаю школьный проект на Котлине и должен знать, как он относится к мусору. Он похож на Java в сборщике мусора?

Интерфейс фабрики Kotlin с дженериками

У меня есть заводский интерфейс в моем коде Kotlin, например (используя Guava TypeToken ): interface ResultMapperFactory { fun <T> get(type: TypeToken<T>, context: MapperLookupContext): ResultMapper<T>? } Все идет нормально. Это очень легко использовать при вызове, однако для реализации почти всегда требуется небезопасное исполнение: object StringFactory : ResultMapperFactory { override fun <T> get(type: TypeToken<T>, context: MapperLookupContext): ResultMapper<T>? […]

Декодирование ByteArray с помощью Spring 5 Framework WebFlux

Я пытаюсь использовать новую среду Spring WebFlux с kotlin. И я не могу найти, где я ошибаюсь в этом коде (myService): fun foo(): Flux<ByteArray> { val client = WebClient.create("http://byte-array-service") return client .get() .uri("/info") .accept(MediaType.APPLICATION_OCTET_STREAM) .exchange() .flatMapMany { r -> r.bodyToFlux(ByteArray::class.java) } } Этот метод возвращает Flux с 7893 байтами, и я знаю, что не все […]

Kotlin: Массовое количество ConsPStack, как я могу избежать?

Как я могу избежать огромного количества ConsPStack , созданных моим приложением? Когда они созданы? Мое приложение: https://github.com/Jire/Abendigo

Как регистрировать тела запроса и ответа в Spring WebFlux

Я хочу иметь централизованное ведение журнала запросов и ответов в моем REST API на Spring WebFlux с Kotlin. До сих пор я пробовал такие подходы @Bean fun apiRouter() = router { (accept(MediaType.APPLICATION_JSON) and "/api").nest { "/user".nest { GET("/", userHandler::listUsers) POST("/{userId}", userHandler::updateUser) } } }.filter { request, next -> logger.info { "Processing request $request with body […]

Intereting Posts
Использование данных Amazon AWS Cognito `. Well-known / jwks.json` не позволяет base64 декодировать некоторые поля Kotlin: «если элемент не в списке» правильный синтаксис Свойство, которое изменяет a от var до val, когда ни одно значение null не назначено? Недвижимость без геттера в Котлине Есть ли удобный способ создания Parcelable классов данных в Android с Kotlin? Встроенная функция Kotlin не работает должным образом Как создать заголовок вложенного / разделенного столбца с помощью TornadoFx? оба приложения: showAsAction = "ifRoom" и андроид: showAsAction = "ifRoom" работают не так, как ожидалось Как проверить метод, когда в kotlin Разница между методом takeWhile () и filter () в Котлине Как использовать анонимные классы Kotlin в качестве аргументов для собственных функций JavaScript? Может ли целое число в Котлине быть равно математическому выражению? Как преобразовать String в Long в Kotlin? Как опустить параметр конструктора со значением по умолчанию при вызове Kotlin в Java? Запуск Smart Type не работает в IntelliJ в проекте Kotlin / Spring Boot