Skip to content

Commit b17ff2b

Browse files
committed
1 parent b50b64f commit b17ff2b

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

modules/core/src/main/java/org/apache/synapse/deployers/ClassMediatorDeployer.java

+10-5
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.apache.synapse.libraries.LibClassLoader;
3131

3232
import java.io.File;
33+
import java.net.MalformedURLException;
3334

3435
public class ClassMediatorDeployer extends AbstractDeployer {
3536

@@ -65,13 +66,17 @@ public void deploy(DeploymentFileData deploymentFileData) throws DeploymentExcep
6566
String mediatorPath = FilenameUtils.normalize(deploymentFileData.getAbsolutePath());
6667

6768
log.info("Deploying library from file : " + mediatorPath);
68-
ClassLoader classLoader = deploymentFileData.getClassLoader();
69-
if (classLoader instanceof LibClassLoader) {
70-
classLoader = Utils.getClassLoader(classLoader, mediatorPath, false);
69+
if (deploymentFileData.getClassLoader() != null) {
70+
try {
71+
((LibClassLoader) deploymentFileData.getClassLoader()).addURL(new File(mediatorPath).toURI().toURL());
72+
} catch (MalformedURLException e) {
73+
throw new DeploymentException("Error adding URL to lib class loader", e);
74+
}
7175
} else {
72-
classLoader = Utils.getClassLoader(ClassMediatorDeployer.class.getClassLoader(), mediatorPath, false);
76+
ClassLoader mediatorLoader = Utils.getClassLoader(ClassMediatorDeployer.class.getClassLoader(),
77+
mediatorPath, false);
78+
getDeploymentStore().addClassMediatorClassLoader(mediatorPath, mediatorLoader);
7379
}
74-
getDeploymentStore().addClassMediatorClassLoader(mediatorPath, classLoader);
7580
}
7681

7782
/**

0 commit comments

Comments
 (0)