EventContinuousSessionContext
interface EventContinuousSessionContext : ContinuousSessionContext<Event, EventResult> , Plugin(source)
以事件为中心的 ContinuousSessionContext 子类型。
插件
EventContinuousSessionContext 实现 Plugin, 可以作为 Application 的插件安装使用。
launchSimpleApplication {
install(EventContinuousSessionContext) {
// 一些可选的配置...
}
}
Content copied to clipboard
EventContinuousSessionContext 暂时不支持SPI,它需要用户明确的按需加载。
持续会话
有关持续会话等详细说明参阅 ContinuousSessionContext 的文档说明。
See also
Inherited functions
Link copied to clipboard
判断是否包含某个 key 对应的会话。
Link copied to clipboard
abstract operator fun <C> get(key: ContinuousSessionKey<C>): ContinuousSessionProvider<C, Event, EventResult>?
根据 key 获取指定的 ContinuousSessionProvider 并在找不到时返回 null
。
Link copied to clipboard
abstract fun <C> remove(key: ContinuousSessionKey<C>): ContinuousSessionProvider<C, Event, EventResult>?
移除某个指定 key 的会话。 remove 仅会从记录中移除,不会使用 ContinuousSessionProvider.cancel, 需要由调用者主动使用。
Link copied to clipboard
open fun <C> session(key: ContinuousSessionKey<C>, inSession: InSession<C, Event, EventResult>): ContinuousSessionProvider<C, Event, EventResult>
尝试创建一组 ContinuousSession
, 并在出现 key 冲突时使用 ConflictStrategy.FAILURE 作为冲突解决策略。
abstract fun <C> session(key: ContinuousSessionKey<C>, strategy: ContinuousSessionContext.ConflictStrategy = ConflictStrategy.FAILURE, inSession: InSession<C, Event, EventResult>): ContinuousSessionProvider<C, Event, EventResult>
尝试创建一组 ContinuousSession
并返回其中的 ContinuousSessionProvider。 在出现 key 冲突时基于 strategy 策略处理冲突。