gpt4 book ai didi

java - Tomcat 6 虚拟主机相同的 Spring 应用程序

转载 作者:行者123 更新时间:2023-11-30 12:00:09 26 4
gpt4 key购买 nike

我想将同一个 .war 文件部署到同一个 Tomcat 6 实例上的两个不同的虚拟主机。但是,我遇到了 Spring 框架和注册 bean 的问题。这是我看到的错误...

org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [com.dti.servlets.Configuration@3a1834] with key 'EAM:name=webConfig'; nested exception is javax.management.InstanceAlreadyExistsException: EAM:name=webConfig

我很确定我需要为每个虚拟主机定义我的上下文,但我运气不好。我发现唯一有效的修复方法是更改​​ bean 键的名称。任何其他建议都会很棒。

最佳答案

问题是每个 JVM 的 bean 名称必须是唯一的。由于您两次部署相同的 war,因此您有两个解决方案:

  1. 更改 Spring JMX 导出器的注册行为(参见 documentation)
  2. 定义您自己的 ObjectNamingStrategy 以在启动时动态更改 bean 的名称(您最终会得到类似 app1.mybeanapp2.mybean< 的名称/em>)

关于java - Tomcat 6 虚拟主机相同的 Spring 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2185948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com