123456789101112131415161718192021222324252627282930313233 |
- package com.uqac.rthoni.java_rmi.server.executors;
-
- import com.uqac.rthoni.java_rmi.common.Command;
- import com.uqac.rthoni.java_rmi.server.ServerApplication;
-
- import java.io.File;
- import java.net.URL;
- import java.net.URLClassLoader;
-
- /**
- * Created by robin on 9/16/16.
- */
- public class ClassLoaderExecutor extends AbstractCommandExecutor {
- @Override
- public String getCommandName() {
- return "chargement";
- }
-
- @Override
- public String run(Command command, ServerApplication server) throws Exception {
- String className = command.getArgument(0, false);
- String classDir = command.getArgument(1, false);
-
- File root = new File(server.getClassDir(), classDir);
- URLClassLoader classLoader = URLClassLoader.newInstance(new URL[] { root.toURI().toURL() });
- server.addClassLoader(classLoader);
- // Class<?> cls = Class.forName(className, true, classLoader); // Should print "hello".
- // Object instance = cls.newInstance(); // Should print "world".
- // System.out.println(instance); // Should print "test.Test@hashcode".
-
- return null;
- }
- }
|