【问题标题】:Injecting user specific singleton classes in a session在会话中注入用户特定的单例类
【发布时间】:2014-07-09 15:38:14
【问题描述】:

我主要从事将独立产品转换为 SaaS 应用程序的项目。当前项目很少有单例类。

现在我的查询是

在SaaS中,不同客户下会有多个用户访问同一个应用。单例类需要是针对每个用户的客户特定的。

例如。特定公司 A 的用户的 LicenseManager 类应该获得 LicenseManager 的单例类实例 class1 而其他公司的用户说公司 B 应该获得单例实例 class2 。同样,特定公司用户的单例 DBManager 类实例应该是公司特定的。

这可能使用 Spring 或任何其他框架吗?是否可以在该父会话下有父会话和子会话之类的东西?

【问题讨论】:

  • 没有“静态类”这样的东西。有静态内部类,但那是另一回事。你想做什么?
  • 请检查我是否已编辑
  • 这真的很广泛。这将取决于您使用的技术和当前的架构。唯一可以说的是您需要将单例转换为其他东西。

标签: java spring jakarta-ee saas


【解决方案1】:

以下是我的建议。根据这些,您可以提出适当的解决方案。

  1. 将这些类转换为非静态类。有一些逻辑可以创建 这些类的实例为每个客户使用一个抽象工厂 基于偏好。为每个使用对应的实例 顾客。
  2. 将这些类转换为抽象类。有儿童班 每个客户类型。使用工厂方法实例化适当的 儿童班。如果您在 Spring 上,则可以使用依赖注入 框架。
  3. 将这些类保持为静态。移动配置 (成员变量)逻辑来分离配置实用程序,其中 您应该将适当的配置返回给基于静态类 迎合客户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-13
    • 2020-09-26
    • 2020-08-14
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多