Skip to content

Commit

Permalink
Merge pull request #2293 from arunans23/classmediator
Browse files Browse the repository at this point in the history
Fix classloader loader issue when adding car file with class mediators
  • Loading branch information
arunans23 authored Jan 21, 2025
2 parents a2d4657 + 4eb786a commit 369fd35
Showing 1 changed file with 5 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
import org.apache.synapse.libraries.LibClassLoader;

import java.io.File;
import java.net.MalformedURLException;

public class ClassMediatorDeployer extends AbstractDeployer {

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

log.info("Deploying library from file : " + mediatorPath);
if (deploymentFileData.getClassLoader() != null) {
try {
((LibClassLoader) deploymentFileData.getClassLoader()).addURL(new File(mediatorPath).toURI().toURL());
} catch (MalformedURLException e) {
throw new DeploymentException("Error adding URL to lib class loader", e);
}
ClassLoader classLoader = deploymentFileData.getClassLoader();
if (classLoader instanceof LibClassLoader) {
classLoader = Utils.getClassLoader(classLoader, mediatorPath, false);
} else {
ClassLoader mediatorLoader = Utils.getClassLoader(ClassMediatorDeployer.class.getClassLoader(),
mediatorPath, false);
getDeploymentStore().addClassMediatorClassLoader(mediatorPath, mediatorLoader);
classLoader = Utils.getClassLoader(ClassMediatorDeployer.class.getClassLoader(), mediatorPath, false);
}
getDeploymentStore().addClassMediatorClassLoader(mediatorPath, classLoader);
}

/**
Expand Down

0 comments on commit 369fd35

Please sign in to comment.