Java 在Tomcat集群中,如何在应用程序中共享bean?

Java 在Tomcat集群中,如何在应用程序中共享bean?,java,tomcat,javabeans,cluster-computing,Java,Tomcat,Javabeans,Cluster Computing,这听起来可能是一个愚蠢或简单的问题,但我对任何类型的集群都几乎没有经验,我只是好奇某个场景是否可能以及如何可能 假设我已经建立了一个由N个Tomcat实例组成的集群,并且在所有N个实例中部署了我的应用程序App1 我需要做什么才能使应用程序中的某些bean(不是全部,而是一些)在集群中“共享” i、 例如,如果我有一个用于WebsiteSettings的bean,我希望有一些查找过程,在这个过程中,应用程序可以请求bean并获得它的一个实例,并且对bean的属性/值的任何更新也可用于集群中的任何

这听起来可能是一个愚蠢或简单的问题,但我对任何类型的集群都几乎没有经验,我只是好奇某个场景是否可能以及如何可能

假设我已经建立了一个由N个Tomcat实例组成的集群,并且在所有N个实例中部署了我的应用程序
App1

我需要做什么才能使应用程序中的某些bean(不是全部,而是一些)在集群中“共享”

i、 例如,如果我有一个用于
WebsiteSettings
的bean,我希望有一些查找过程,在这个过程中,应用程序可以请求bean并获得它的一个实例,并且对bean的属性/值的任何更新也可用于集群中的任何其他机器,即
WebsiteSettings.getGreeting()
将在更新时在所有N台机器上返回相同的值


我是否需要将这些bean设置为MBean,并让
App1
通过JMX查找它们?Tomcat的集群支持会自动将MBean中的更改复制到集群中的所有节点吗?

一个选项是使用共享分布式缓存。有几种方法可以很容易地为您提供此功能。

一种方法是使用共享分布式缓存。有几种方法可以很容易地为您提供此功能。

请看一看-它允许您在许多实例上驻留相同的对象(某种程度上),其中其他节点的所有更新都是在JVM级别完成的,而不是在您的代码中完成的

您可能想了解更多信息-

请了解-它允许相同的对象(以某种方式)驻留在许多实例上,其他节点的所有更新都是在JVM级别完成的,而不是在您的代码中完成的


您可能想了解更多信息-

这是一个有趣的方法,我没有真正想到,谢谢。我仍然有兴趣知道一些更“传统”的方法,虽然我认为这是解决你问题的标准或传统方法。这是一个我没有真正想到的有趣方法,谢谢。我仍然有兴趣知道一些更“传统”的方法,尽管我认为这是解决问题的标准或传统方法。