我是一个开发相当大的 Swing Java Applet 的团队的一员。我们的大部分代码都是遗留的,并且有大量的单例引用。我们将所有这些都捆绑到一个“应用程序上下文”单例中。我们现在需要创建某种方法来分离共享上下文(在当前显示的所有小程序之间共享)和非共享上下文(特定于当前显示的每个小程序)。
但是,我们没有在调用单例的每个位置都有一个 ID,我们也不想将 ID 传播到所有位置。识别我们在哪个小程序上下文中运行的最简单方法是什么?(我试过弄乱类加载器、线程组、线程ID......到目前为止,我找不到任何可以让我识别调用来源的东西)。