Udated stream api
This commit is contained in:
parent
4c8e4c31fb
commit
7a87fdd2cc
@ -5,15 +5,15 @@ import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||
import org.springframework.boot.runApplication
|
||||
import org.springframework.context.ApplicationEventPublisher
|
||||
import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.RequestMapping
|
||||
import org.springframework.web.bind.annotation.RequestParam
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
import org.springframework.scheduling.annotation.Async
|
||||
import org.springframework.scheduling.annotation.EnableAsync
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import reactor.core.publisher.Flux
|
||||
import reactor.core.publisher.Flux.generate
|
||||
import java.util.concurrent.ThreadLocalRandom
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableAsync
|
||||
class LiveServiceApplication
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
@ -33,6 +33,7 @@ class HelloController(
|
||||
events = Flux.create(eventPublisher).share()
|
||||
}
|
||||
|
||||
@Async
|
||||
@RequestMapping("/publish")
|
||||
fun publish(@RequestParam(value = "message", defaultValue = "Hello World") message: String): Map<String, Any> {
|
||||
applicationEventPublisher.publishEvent(MessageCreatedEvent(message))
|
||||
@ -43,6 +44,7 @@ class HelloController(
|
||||
}
|
||||
|
||||
@GetMapping("/stream/chat", produces = ["text/event-stream"])
|
||||
@CrossOrigin(value = ["*"])
|
||||
fun streamChat(): Flux<String> {
|
||||
return this.events.map { event ->
|
||||
try {
|
||||
|
Loading…
Reference in New Issue
Block a user