Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 集群应用程序环境中的ServletContex属性_Java_Servlets_Struts2_Struts_Servletconfig - Fatal编程技术网

Java 集群应用程序环境中的ServletContex属性

Java 集群应用程序环境中的ServletContex属性,java,servlets,struts2,struts,servletconfig,Java,Servlets,Struts2,Struts,Servletconfig,我的应用程序部署在一个有两台服务器的集群中。当我使用以下命令设置任何属性时: this.getServletContext().setAttribute("test", testObj); 键为test的testObj属性是否可通过访问 两台服务器 服务器的数量是否等于JVM的数量?就我而言 是两台服务器吗?这是否意味着有两个JVM 据我所知,每个Web应用程序每个JVM一个,所以 在我的情况下,testObj是否可以通过这两种方式访问 JVM的 根据报告: 对于部署描述符中标记为“分布式”的

我的应用程序部署在一个有两台服务器的集群中。当我使用以下命令设置任何属性时:

this.getServletContext().setAttribute("test", testObj);
  • 键为
    test
    testObj
    属性是否可通过访问 两台服务器
  • 服务器的数量是否等于JVM的数量?就我而言 是两台服务器吗?这是否意味着有两个JVM
  • 据我所知,每个Web应用程序每个JVM一个,所以 在我的情况下,
    testObj
    是否可以通过这两种方式访问 JVM的
  • 根据报告:

    对于部署描述符中标记为“分布式”的web应用程序,每个虚拟机将有一个上下文实例。在这种情况下,上下文不能用作共享全局信息的位置(因为这些信息不是真正的全局信息)。改用外部资源,如数据库

    在“分布式容器中的SRV.4.4.1上下文属性”中也指出:

    上下文属性是创建它们的JVM的本地属性。这将防止ServletContext属性成为分布式容器中的共享内存存储。当需要在分布式环境中运行的servlet之间共享信息时,应将信息放入会话(参见第SRV.7章“会话”),存储在数据库中,或设置在企业JavaBeansTM组件中

    因此,您的问题的答案是否定的,该属性在整个集群中不可访问,它仅在本地JVM上可用

    至于每台服务器的JVM数量,在基本设置中,每台物理机器可以有一个JVM,但也可以有