glassfish域名如何相互分离?

Pav*_*l_K 9 java glassfish java-ee

GlassFish允许创建N个域.每个域都有自己的Java类(库等)和系统设置.

例如,我们有两个域 - domain1和domain2.

通过GF Web控制台(http:// localhost:4848)为domain1设置了一个系统属性 - com.temp.foo=test1.除了通过GF web控制台(http:// localhost:7575),还为domain2设置了一个系统属性com.temp.foo=test2.

现在,在domain1中

System.out.println(System.getProperty("org.temp.foo"))
//returns `test1`
Run Code Online (Sandbox Code Playgroud)

在domain2中

System.out.println(System.getProperty("org.temp.foo"))
//returns `test2`
Run Code Online (Sandbox Code Playgroud)

据我所知,GF及其所有域都在JVM的一个实例中运行.我不明白在一个JVM独立系统属性的实例中它是如何可能的.谁能解释一下?

注意:我理解这可能是一个很长的解释,这就是为什么我只能按照我可以在互联网上阅读它们的顺序询问主要原则和解决方案/库名称.

See*_*ose 5

似乎理解“GF 及其所有域都在一个 JVM 实例中运行”是错误的。

根据 GlassFish 当前版本的文档(第 3 章):

域包含一组一起管理的 GlassFish Server 实例。[...] GlassFish Server 实例是运行 GlassFish Server 的单个节点上的 Java 平台(Java 虚拟机或 JVM 机器)的单个虚拟机。

这意味着,任何域的每个实例都在自己的 JVM 中运行!因此,它们都可以具有自己不同的系统属性。

公平地说:在 GlassFish 中有管理虚拟服务器的方法,它们似乎共享一个 JVM,但我认为您不是在谈论它们。