{"id":19656573,"url":"https://github.com/daggerok/kotlin-coroutines-spring-mvc","last_synced_at":"2026-05-15T14:33:56.142Z","repository":{"id":151041826,"uuid":"193999585","full_name":"daggerok/kotlin-coroutines-spring-mvc","owner":"daggerok","description":"spring-webmvc (Tomact Servlet container) + kotlin-coroutines using Konrad Kaminski integration","archived":false,"fork":false,"pushed_at":"2019-06-27T01:23:46.000Z","size":56,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-27T02:23:00.832Z","etag":null,"topics":["coroutines","kotlin-coroutines","spring-mvc","spring-mvc-application","spring-mvc-framework"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daggerok.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-27T01:12:40.000Z","updated_at":"2023-04-26T07:07:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"d2c66d72-cc86-4a5c-8590-eddb38cf4cf9","html_url":"https://github.com/daggerok/kotlin-coroutines-spring-mvc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/daggerok/kotlin-coroutines-spring-mvc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fkotlin-coroutines-spring-mvc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fkotlin-coroutines-spring-mvc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fkotlin-coroutines-spring-mvc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fkotlin-coroutines-spring-mvc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daggerok","download_url":"https://codeload.github.com/daggerok/kotlin-coroutines-spring-mvc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daggerok%2Fkotlin-coroutines-spring-mvc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33069973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T11:35:32.926Z","status":"ssl_error","status_checked_at":"2026-05-15T11:35:31.362Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coroutines","kotlin-coroutines","spring-mvc","spring-mvc-application","spring-mvc-framework"],"created_at":"2024-11-11T15:28:10.756Z","updated_at":"2026-05-15T14:33:56.117Z","avatar_url":"https://github.com/daggerok.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpringMVC Coroutines [![Build Status](https://travis-ci.org/daggerok/kotlin-coroutines-spring-mvc.svg?branch=master)](https://travis-ci.org/daggerok/kotlin-coroutines-spring-mvc)\nUsing konrad-kaminski integration\n\n```bash\n./mvnw\njava -jar target/*-SNAPSHOT.jar\nhttp :8080\n# see logs / Travis CI output\n```\n\n## details\n\n_pom.xml_\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cproject\u003e\n    \u003cproperties\u003e\n        \u003ckotlinx-coroutines.version\u003e1.3.0-M1\u003c/kotlinx-coroutines.version\u003e\n    \u003c/properties\u003e\n    \u003cdependencies\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.jetbrains.kotlinx\u003c/groupId\u003e\n            \u003cartifactId\u003ekotlinx-coroutines-core\u003c/artifactId\u003e\n            \u003cversion\u003e${kotlinx-coroutines.version}\u003c/version\u003e\n        \u003c/dependency\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.jetbrains.kotlinx\u003c/groupId\u003e\n            \u003cartifactId\u003ekotlinx-coroutines-reactor\u003c/artifactId\u003e\n            \u003cversion\u003e${kotlinx-coroutines.version}\u003c/version\u003e\n        \u003c/dependency\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.springframework.kotlin\u003c/groupId\u003e\n            \u003cartifactId\u003espring-webmvc-kotlin-coroutine\u003c/artifactId\u003e\n            \u003cversion\u003e0.3.7\u003c/version\u003e\n        \u003c/dependency\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.springframework.kotlin\u003c/groupId\u003e\n            \u003cartifactId\u003espring-kotlin-coroutine\u003c/artifactId\u003e\n            \u003cversion\u003e0.3.7\u003c/version\u003e\n        \u003c/dependency\u003e\n    \u003c/dependencies\u003e\n    \u003crepositories\u003e\n        \u003c!-- https://www.kotlinresources.com/library/spring-kotlin-coroutine/#web-methods --\u003e\n        \u003crepository\u003e\n            \u003cid\u003espring-webmvc-kotlin-coroutine\u003c/id\u003e\n            \u003cname\u003espring-webmvc-kotlin-coroutine\u003c/name\u003e\n            \u003curl\u003ehttps://dl.bintray.com/konrad-kaminski/maven\u003c/url\u003e\n            \u003creleases\u003e\n                \u003cenabled\u003etrue\u003c/enabled\u003e\n                \u003cupdatePolicy\u003enever\u003c/updatePolicy\u003e\n                \u003cchecksumPolicy\u003eignore\u003c/checksumPolicy\u003e\n            \u003c/releases\u003e\n            \u003csnapshots\u003e\n                \u003cenabled\u003etrue\u003c/enabled\u003e\n                \u003cupdatePolicy\u003enever\u003c/updatePolicy\u003e\n                \u003cchecksumPolicy\u003eignore\u003c/checksumPolicy\u003e\n            \u003c/snapshots\u003e\n        \u003c/repository\u003e\n    \u003c/repositories\u003e\n\u003c/project\u003e\n```\n\n_App.kt_\n\n```kotlin\n@EnableCoroutine\n@SpringBootApplication\nclass App\n\nfun main(args: Array\u003cString\u003e) {\n  runApplication\u003cApp\u003e(*args)\n}\n```\n\n_MyCoroutinesResource.kt_\n\n```kotlin\n@RestController\nclass MyCoroutinesResource(private val myCoroputinesService: MyCoroutinesService) {\n\n  private val log = LogManager.getLogger()\n\n  @GetMapping(\"/**\")\n  suspend fun defaultFallback(): Map\u003cString, Any\u003e {\n    log.info(\"before\")\n    return myCoroputinesService\n        .suspendedMethod()\n        .also { log.info(\"after\") }\n  }\n}\n```\n\n* [konrad-kaminski / spring-kotlin-coroutine](https://www.kotlinresources.com/library/spring-kotlin-coroutine/#web-methods)\n* [YouTube: Asynchronous Programming with Kotlin Coroutines in Spring](https://www.youtube.com/watch?v=aG4ArTL8KHY)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaggerok%2Fkotlin-coroutines-spring-mvc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaggerok%2Fkotlin-coroutines-spring-mvc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaggerok%2Fkotlin-coroutines-spring-mvc/lists"}