当前位置: 首页 > 知识库问答 >
问题:

对于多个WAR文件,使用相同的tomcat singleton

云令
2023-03-14

我在我的tomcat中部署了多个WAR文件,其中包含同一应用程序的不同实例。每个WAR文件都包含一个充当单例的类,但这个单例为我部署的每个WAR获得相同的值。。。事件,如果我需要每个不同的值(DB参数、端口等,…)我了解到,由于Singleton依赖于同一JVM中包含的同一类加载器,这种行为很正常,但我需要为我部署的每个WAR文件获得独立的Singleton实例。

Tomcat服务器是否有任何配置来确保每个WAR实例都有不同的Singleton实例?

共有1个答案

翟宾实
2023-03-14

Tomcat中的每个webapp实例都是独立的,所以如果您部署了多个webapp,它们将具有不同的singleton类实例。当然,如果你不告诉他们,他们的配置都是一样的。

如果您想在一个Tomcat实例中运行同一个webapp的多个实例,只需创建多个上下文XML文件即可。你甚至不需要复制战争文件。

在TOMCAT\u HOME$/conf/Catalina/localhost中,创建多个XML文件,例如:。

傅。xml

xml prettyprint-override"><Context docBase="C:/path/to/MyWepApp.war">
  <Parameter name="greeting" value="Hello from FOO"/>
</Context>

bar.xml

<Context docBase="C:/path/to/MyWepApp.war">
  <Parameter name="greeting" value="Hello from BAR"/>
</Context>

如果您的webapp代码调用ServletContext。getInitParameter(“问候语”)要获取该配置值,现在它可以在每个部署的实例中显示不同的问候语。

现在,您可以使用http://localhost:8080/foohttp://localhost:8080/bar

当您更新war文件时,它们都将自动重新部署,而无需重新启动Tomcat。

 类似资料:
  • 问题内容: 在CSS文件中定义诸如背景图片URL之类的内容时,使用相对URL时,它相对于何处?例如: 假设文件包含: 如果我包括通过这个样式表到不同的文件会在CSS文件中的相对URL是 相对于样式表文件 中或 相对于当前文档 包括它是什么?可能的路径如下: 问题答案: 根据W3: 部分URL相对于样式表的来源而不是相对于文档进行解释 因此,在回答您的问题时,它将相对于。 如果考虑到这一点,这是有道

  • 我正在处理部署在tomcat7环境中的两个WAR应用程序(我们称它们为app1.WAR和app2.WAR)。通过setenv.sh,我将类路径扩展到位于/opt/configurations中的共享文件夹。 我想这样构造配置:

  • 我有100个不同名称的文件夹,每个文件夹中应该有相同的三个文件,但在某些文件夹中,这三个文件都不存在。 如何删除空文件夹或仅包含一个或两个文件的文件夹? 这是三个文件:

  • 问题内容: 即时通讯在上传具有相同输入名称的多个文件时遇到麻烦: 在Django一侧 因此所有三个文件都在单个request.FILES [‘file’]对象下。如何处理从此处上传的每个文件? 问题答案: 编辑:我知道这是一个旧答案,但是我刚才遇到了这个答案,并且已经将答案编辑为实际上是正确的。以前建议你可以直接进行迭代。要访问中的所有项目,请使用。使用just 只会返回它为该键找到的最后一个数据

  • 问题内容: 我正在创建一个应用程序,该应用程序的核心功能是随着时间的推移跟踪各种数据(血糖水平,胰岛素剂量,食物摄入量等),并且试图确定如何最好地在数据库中组织这些信息。 从最基本的角度来看,在这个特定总括内的所有内容都是一个事件,因此我想到了一个带有包含所有可能出现的属性的字段的Events表。但是,这可能很麻烦,因为绝大多数字段最终对于许多字段都是空白。但我不确定这是否真的是一个问题。这种方式

  • 问题内容: 当我通过相对路径引用CSS文件中的图片或其他文件时,是使用CSS文件相对于CSS文件还是HTML文件的路径? 问题答案: 是的,这是相对于 这是一个示例布局: CSS中: