session

abstract fun session(key: Any, strategy: ContinuousSessionContext.ConflictStrategy = ConflictStrategy.FAILURE, inSession: InSession<T, R>): ContinuousSessionProvider<T, R>(source)

尝试创建一组 ContinuousSession 并返回其中的 ContinuousSessionProvider。 在出现 key 冲突时基于 strategy 策略处理冲突。

Parameters

key

session 会话的标识。key 的类型应当是一个可以保证能够作为一个 hash key 的类型, 例如基础数据类型(例如 IntString)、数据类类型(data class)、object 类型等。

strategy

key 出现冲突时的处理策略

inSession

异步中进行会话逻辑的函数实例。 在 Java 中可使用 InSessions 中提供的静态工厂函数构建实例, 例如 InSessions.asyncInSessions.mono 等。 在 ContinuousSession 中使用时,我们强烈建议使用非阻塞的 InSession 实现, 或者为 ContinuousSession 的调度器配置为 虚拟线程调度器

Throws


open fun session(key: Any, inSession: InSession<T, R>): ContinuousSessionProvider<T, R>(source)

尝试创建一组 ContinuousSession, 并在出现 key 冲突时使用 ConflictStrategy.FAILURE 作为冲突解决策略。