<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy -->

ExtensionLoader cannot be resumed after interruption.

```
java.lang.InterruptedException
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1302)
  at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
  at org.apache.dubbo.common.utils.ClassLoaderResourceLoader.loadResources(ClassLoaderResourceLoader.java:55)
  at org.apache.dubbo.common.extension.ExtensionLoader.loadDirectory(ExtensionLoader.java:1005)
  at org.apache.dubbo.common.extension.ExtensionLoader.loadDirectory(ExtensionLoader.java:943)
  at org.apache.dubbo.common.extension.ExtensionLoader.loadExtensionClasses(ExtensionLoader.java:931)
  at org.apache.dubbo.common.extension.ExtensionLoader.getExtensionClasses(ExtensionLoader.java:913)
  at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:752)
  at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:548)
  at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:523)
  at org.apache.dubbo.rpc.protocol.injvm.InjvmInvoker.<init>(InjvmInvoker.java:74)
```
@Test
    public void test() {
        DubboInternalLoadingStrategy dubboInternalLoadingStrategy = new DubboInternalLoadingStrategy();
        String directory = dubboInternalLoadingStrategy.directory();
        String type = FooAppProvider.class.getName();
        String fileName = directory + type;
        ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
        Map<ClassLoader, Set<URL>> loadResources = ClassLoaderResourceLoader.loadResources(fileName, Arrays.asList(contextClassLoader));
        Assertions.assertTrue(loadResources.containsKey(contextClassLoader));
        Assertions.assertTrue(!loadResources.get(contextClassLoader).isEmpty());
        
        Assertions.assertNotNull(ClassLoaderResourceLoader.getClassLoaderResourcesCache());
        loadResources = ClassLoaderResourceLoader.loadResources(fileName, Arrays.asList(contextClassLoader));
        Assertions.assertTrue(loadResources.containsKey(contextClassLoader));
        Assertions.assertTrue(!loadResources.get(contextClassLoader).isEmpty());
        Assertions.assertNotNull(GlobalResourcesRepository.getGlobalReusedDisposables());
        ClassLoaderResourceLoader.destroy();
        Assertions.assertNull(ClassLoaderResourceLoader.getClassLoaderResourcesCache());
    }
}