Java-如何重新启动ServiceLoader

问题描述

如何停止ServiceLoader,以便重新加载罐子? 我试图再次调用load方法。不幸的是,这没有帮助。

解决方法

关于javadoc文档,您可以使用reload方法:

清除此加载程序的提供程序缓存,以便重新加载所有提供程序。

调用此方法后,后续迭代器方法的调用将懒惰地查找并实例化提供程序,就像新创建的加载程序一样。

此方法专用于可以将新的提供程序安装到正在运行的Java虚拟机中的情况。