我想问一下ServiceLoader.load()
是否可以帮我创建加载服务的多个实例?
我一直在做一些测试,看起来它一次只能加载一个服务实例。如果有可能有多个实例,有人可以解释我如何实现这一目标吗?
答案 0 :(得分:2)
您不想使用ServiceLoader
本身来创建多个副本。 可能,使用加载器的reload
方法,但这不是它的预期用法,可能表现不佳,并且还有副作用,其他实现是也重新加载。
更有可能的是,你想做的不是创建一个工厂类(或一些类似的概念),它本身创建了你实际想要使用的类的实例,最后使用服务加载器来加载这样的工厂实例。