Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.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 SpringMVC:在同一Web服务器中的战争之间共享bean_Java_Spring_Spring Mvc_Singleton_Embedded Jetty - Fatal编程技术网

Java SpringMVC:在同一Web服务器中的战争之间共享bean

Java SpringMVC:在同一Web服务器中的战争之间共享bean,java,spring,spring-mvc,singleton,embedded-jetty,Java,Spring,Spring Mvc,Singleton,Embedded Jetty,我正在运行一个web服务器(嵌入式Jetty),它承载多个WAR,并且还支持新的\existing web应用程序的热部署(如上所述) 我有一组公共bean,需要在不同的web应用程序之间共享(同一实例)。是否可以使用Spring以某种方式处理这些bean 找到了,但它解释了如何使用EAR文件,这不是我的选择,因为正如我提到的,我们支持新WAR的热部署,我们不想在部署一个web应用时重新部署所有web应用 可以使用Spring来处理这些bean吗?或者我是否需要在我的公共bean中创建某种包装器

我正在运行一个web服务器(嵌入式Jetty),它承载多个WAR,并且还支持新的\existing web应用程序的热部署(如上所述)

我有一组公共bean,需要在不同的web应用程序之间共享(同一实例)。是否可以使用Spring以某种方式处理这些bean

找到了,但它解释了如何使用EAR文件,这不是我的选择,因为正如我提到的,我们支持新WAR的热部署,我们不想在部署一个web应用时重新部署所有web应用


可以使用Spring来处理这些bean吗?或者我是否需要在我的公共bean中创建某种包装器,使其作为一个单独的应用程序(所有web应用程序都在同一个JVM上运行)

如果它不是一个单独的应用程序(EAR),那么你就不能(也不应该)共享bean。我不同意你的观点,我已经看到过很多这种设计适用的用例(比如提供的链接)。这对我来说不是一个很好的需求,我需要它来工作,我知道我可以使用简单的Java单例来工作,我想知道Spring是否也可以提供同样的功能。要么是那样,要么使用工厂..链接是单个应用程序,EAR。。。分为几个模块(战争)。部署单个WARS部署单个应用程序。只要它们不在一个耳朵中分组,它就不会工作。您也不应该这样做,因为最终您将遇到二进制不兼容,除非您总是部署所有东西。你为什么一开始就想分享一粒豆子?看起来你试图用错误的东西解决问题。这与嵌入式码头又有什么关系?在我看来,这就像是普通的Jetty。我们正在运行一个spark应用程序,它承载多个web应用程序(这就是为什么使用嵌入式Jetty作为容器)。我们想要共享bean的原因是因为我们想要共享sparkSession(这样我们也可以共享相同的资源),这也是Spark-One JVM->One sparkSession的一个要求。我们已经有了一个可以将所有内容打包在一起的工作代码,但我们希望将其拆分—主要是为了提高我们的部署能力。您可能需要添加一个事实,即您正在使用Spark,因为这一点非常重要,并且在最初的问题中没有提到。它看起来也是针对Spark的,我不确定你是否可以在不同的Web应用程序上共享同一个会话(我没有Spark知识)。如果它不是单个应用程序(EAR),你就不能(也不应该)共享bean。我不同意你的观点,我见过很多这种设计适用的用例(比如提供的链接)。这对我来说不是一个很好的需求,我需要它来工作,我知道我可以使用简单的Java单例来工作,我想知道Spring是否也可以提供同样的功能。要么是那样,要么使用工厂..链接是单个应用程序,EAR。。。分为几个模块(战争)。部署单个WARS部署单个应用程序。只要它们不在一个耳朵中分组,它就不会工作。您也不应该这样做,因为最终您将遇到二进制不兼容,除非您总是部署所有东西。你为什么一开始就想分享一粒豆子?看起来你试图用错误的东西解决问题。这与嵌入式码头又有什么关系?在我看来,这就像是普通的Jetty。我们正在运行一个spark应用程序,它承载多个web应用程序(这就是为什么使用嵌入式Jetty作为容器)。我们想要共享bean的原因是因为我们想要共享sparkSession(这样我们也可以共享相同的资源),这也是Spark-One JVM->One sparkSession的一个要求。我们已经有了一个可以将所有内容打包在一起的工作代码,但我们希望将其拆分—主要是为了提高我们的部署能力。您可能需要添加一个事实,即您正在使用Spark,因为这一点非常重要,并且在最初的问题中没有提到。它看起来也是针对Spark的,我不确定你是否可以在不同的Web应用程序上共享相同的会话(我没有Spark知识)。