【问题标题】:GWT Session SingletonGWT 会话单例
【发布时间】:2012-06-18 12:03:13
【问题描述】:

在 GWT 中,我想在包含会话配置的服务器上存储一个对象。 它必须在服务器端。

我试图在我的 RPC 实现中创建对象的静态实例,但它似乎是一个真正的单例,并且所有用户都出现了相同的配置。知道我该如何解决这个问题吗?使用 RPC 将配置从客户端传递到服务器。我想将其存储在服务器上,直到客户端关闭浏览器。

谢谢,

【问题讨论】:

    标签: java session gwt singleton


    【解决方案1】:

    没关系,我终于找到了我的谷歌搜索...

    在 RPC 实现中:

    设置

        HttpSession httpSession = getThreadLocalRequest().getSession(true);  
        httpSession.setAttribute("connectionConfig", connectionConfig);
    

    获取

        HttpSession httpSession = getThreadLocalRequest().getSession(true);  
        ConnectionConfig config = (ConnectionConfig) httpSession.getAttribute("connectionConfig");
    

    【讨论】:

      【解决方案2】:

      我认为有很多方法可以做到这一点,这完全取决于您的应用程序。我认为您可以将对象直接存储为会话对象,这是最简单的方法,但如果您出于任何原因不想这样做,另一个建议是创建一个静态哈希图,并在其上放置对象并使用用户会话 ID 作为这个 hashmap 的键。

      【讨论】:

      • 感谢 Ehsan 的建议,但您的方法的问题是,一旦会话终止,对象将持续存在并最终耗尽所有内存。除非我错过了什么。
      猜你喜欢
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-27
      • 2011-01-02
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      相关资源
      最近更新 更多