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 Spring引导:在类路径更改时刷新应用程序上下文_Java_Spring_Spring Boot - Fatal编程技术网

Java Spring引导:在类路径更改时刷新应用程序上下文

Java Spring引导:在类路径更改时刷新应用程序上下文,java,spring,spring-boot,Java,Spring,Spring Boot,我使用Spring Boot的PropertiesLauncher和加载程序路径:插件清单条目构建了一个小应用程序。包含META-INF/spring.factories的plugins文件夹中有几个jar文件 加载我的外部插件JAR的配置工作正常 现在我想知道如果类路径上的某些内容发生更改,是否以及如何刷新应用程序上下文。例如,删除或添加外部插件jar 我已经研究过了,但我想我在这门课上没有意识到这一点 如果可能,以及如何可能,有什么想法吗?在类路径上使用纯Spring更改JAR通常意味着完全

我使用Spring Boot的
PropertiesLauncher
加载程序路径:插件
清单条目构建了一个小应用程序。包含
META-INF/spring.factories
plugins
文件夹中有几个jar文件

加载我的外部插件JAR的配置工作正常

现在我想知道如果类路径上的某些内容发生更改,是否以及如何刷新应用程序上下文。例如,删除或添加外部插件jar

我已经研究过了,但我想我在这门课上没有意识到这一点


如果可能,以及如何可能,有什么想法吗?

在类路径上使用纯Spring更改JAR通常意味着完全重新启动应用程序。Spring框架提供的类路径中没有现成的机制来支持运行时更改

在2009/2010年,有一个项目,但

您很可能需要自己从头开始实现这一点。也许您应该研究现有的插件系统实现,例如,哪个实现了:

ApacheFelix是在Apache许可下实现OSGi框架和服务平台以及其他有趣的OSGi相关技术的社区努力。OSGi规范最初针对嵌入式设备和家庭服务网关,但它们非常适合于对模块化、面向组件和/或面向服务原则感兴趣的任何项目。OSGi技术结合了上述原则的各个方面,定义了一个适合远程管理的动态服务部署框架


Devtools有一种机制来支持类路径中的运行时更改。所以我认为在devtools之外还有一些东西可以在生产系统中使用它。我猜它是用了一个。