gpt4 book ai didi

java - Atmosphere - 在 AtmosphereResource 上存储属性

转载 作者:行者123 更新时间:2023-11-30 09:13:52 27 4
gpt4 key购买 nike

我需要针对暂停的请求存储一些服务器端值,但我不确定应该如何处理。当挂起的连接不再存在于客户端上时,我希望清除这些属性。我希望 AtmosphereResourcesetAttribute(name,value)getAttribute(name) 方法,但它们不存在。我想到了三种可能的方法:

  1. 使用AtmosphereResource.getRequest().setAttribute(name,value)
  2. 提供我自己的 AtmosphereResource 实现并在其中添加方法(由并发映射支持)。
  3. 拥有某种形式的监听器/拦截器,用于监听 AtmosphereResource 的创建/销毁,并使用 AtmosphereResource.uuid() 维护我自己的服务器端状态。

问题:

  1. 使用暂停请求的请求属性是否有任何问题?这适用于所有运输方式吗?
  2. 是否有任何提供自定义 AtmosphereResource 实现的示例?
  3. 如果我提供自己的 AtmosphereResource 实现,它会在挂起请求的生命周期内存在吗?这是否适用于所有传输方法(例如长轮询)?
  4. 是否有一个钩子(Hook)来获取创建/销毁的事件?我查看了 AtmosphereInterceptor,但只能看到 inspectpostInspect 事件。
  5. 我的问题有更好的解决方案吗?

最佳答案

我最终使用 AtmosphereResourceEventListener 解决了我的问题,它为每个 AtmosphereResource 创建和销毁了一个 session 。

我很惊讶其他人没有遇到这个问题,每个客户端连接需要一个 session 似乎是很正常的要求。

如果有人对我的解决方案感兴趣,一些有趣的类是:

关于java - Atmosphere - 在 AtmosphereResource 上存储属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20804235/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com