【问题标题】:Writing custom session store for Weblogic为 Weblogic 编写自定义会话存储
【发布时间】:2009-10-27 13:50:12
【问题描述】:

我想将 JSP 会话数据存储在 WebLogic 服务器中的自定义存储(我指定的存储)中。是否有任何我可以实现的接口或基类或我可以编写的过滤器,我可以通过配置插入并让我能够将会话数据存储在我的商店中?我做了一些初步搜索,但找不到任何入口点。任何知道如何做到这一点的人。

实际上,我想使用性能良好并支持跨多个服务器分区数据(不复制)的存储。有许多这样的商店(缓存)可用。因此,通过编写会话存储提供程序,我可以将会话数据存储在我的分区(或复制分区)存储中,并在多个 Web 服务器之间共享它们。

【问题讨论】:

标签: jsp session weblogic


【解决方案1】:

WebLogic 没有公共 API 来控制会话数据。

如果您愿意做很多工作,您可以修改 Web 应用程序以拦截所有会话调用并将数据存储在您想要的位置。有可用的标准 API:ServletContextListener、ServletContextAttributeListener、ServletRequestListener、ServletRequestAttributeListener、HttpSessionListener 和 HttpSessionAttributeListener。你可以在 web.xml 中注册你的监听器。

如果您雄心勃勃,您可以编写代码来自动检测网络应用。 Oracle CoherenceWeb 产品采用了这种方法。请参阅page 上的“CoherenceWeb 安装程序如何检测 Java EE 应用程序”部分。它对必要步骤进行了高级描述。

【讨论】:

    【解决方案2】:

    我不认为 Weblogic 允许您这样做。据我所知,没有公开可用的接口来实现,Weblogic 也没有提供任何钩子或方法来将您的实现插入persistent session configuration

    说实话,我真的很想知道您为什么要实现自己的持久存储(这更多是应用服务器提供商的责任)。我不明白使用现有的 5 个implementation 之一无法实现的目标。也许您可以使用 file 存储并设置自定义persistent-store-dir。但实际上,如果没有关于您的目标的更多详细信息,我不确定能否指出正确的方向。

    【讨论】:

    • 对不起,我应该将它添加到我的问题中。我已经更新了问题。
    猜你喜欢
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    相关资源
    最近更新 更多