黑客在不相关的'之间共享数据。在同一个JVM上运行的程序?

时间:2015-10-22 01:38:29

标签: java web-applications

我的情况是我在servlet容器中运行了2个web应用程序。虽然它们实际上是相关的应用程序,但servlet容器假定没有2个Web应用程序实际上是相关的。我希望这些网络应用以轻量级方式共享数据......通过引用堆上的同一对象。显然,这些数据必须完全根据两个网络应用程序常用的类加载器定义的类来表达,但我们假设java.lang.Stringbyte[]将完成工作我

然后诀窍是找到一些方法,每个网络应用程序都可以获得对象的参考。

例如,如果安全管理员允许,则可以执行以下操作:

System.setOut(new PrintStream(System.out) {
   public Object data;
});

然后其他网络应用可以尝试在System.out上使用反射来尝试获取对data的引用。

但我需要一些不受安全经理保护的东西。显然,成功的黑客行为实际上是不受信任的程序可以共享JVM的原因之一,并且可能在将来被关闭。 当然它不受支持,依赖是愚蠢的,需要在线程之间进行同步等。

想法不要求以任何方式修改JVM或servlet-container配置,只是像往常一样部署两个web-apps,并滥用java。*类的接缝库可以做一些JavaEE供应商热衷于你不做的事情。 : - )

想法?

Edit1:强调关键目标/约束 Edit2:使用了无关的'

0 个答案:

没有答案