Skip to content

Commit f5109a8

Browse files
Code refactor based on review comments
1 parent 20284d0 commit f5109a8

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

src/main/java/com/microsoft/azure/functions/worker/reflect/EnhancedClassLoaderProvider.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,19 @@ public EnhancedClassLoaderProvider() {
1919
*/
2020
@Override
2121
public ClassLoader createClassLoader() {
22-
URL[] urlsForClassLoader = new URL[urls.size()];
23-
urls.toArray(urlsForClassLoader);
24-
25-
URLClassLoader classLoader = getURLClassLoaderInstance(urlsForClassLoader);
26-
return classLoader;
22+
return getURLClassLoaderInstance();
2723
}
2824

2925
/**
30-
* @param urlsForClassLoader Array of URLs to construct a new URLClassLoader
31-
* @return single instance of URLClassLoader
26+
* Create and return a singleton URL classloader
27+
* @return instance of URLClassLoader
3228
*/
33-
private URLClassLoader getURLClassLoaderInstance(URL[] urlsForClassLoader) {
29+
private URLClassLoader getURLClassLoaderInstance() {
3430
if (classLoaderInstance == null) {
35-
synchronized (URLClassLoader.class) {
31+
synchronized (lock) {
3632
if (classLoaderInstance == null) {
33+
URL[] urlsForClassLoader = new URL[urls.size()];
34+
urls.toArray(urlsForClassLoader);
3735
classLoaderInstance = new URLClassLoader(urlsForClassLoader);
3836
loadDrivers(classLoaderInstance);
3937
}
@@ -88,5 +86,6 @@ public void addUrl(URL url) throws IOException {
8886
urls.add(url);
8987
}
9088
private final Set<URL> urls;
89+
private final Object lock = new Object();
9190
private static volatile URLClassLoader classLoaderInstance;
9291
}

0 commit comments

Comments
 (0)