2016-08-23 5 views
-3

いくつかのカスタムリポジトリからクラスをロードするため、ホットデプロイメント機能を実装するため、クラスをアンロードできるようにするカスタムクラスローダーを作成するという目標があります。似たような仕事を経験したことがあれば、あなたの知識を共有してください。そのコンストラクタと最終的には親クラスへjarからクラスをロードするカスタムクラスローダーを作成するには?

答えて

1

あなたのケースでカスタムClassLoaderを書く必要は、URLClassLoaderは十分なはずです、あなたは、単にパラメータとしてURLのアレイを提供(含まれるようにクラスやjarファイルのフォルダに対応)ローダー(Thread.currentThread().getContextClassLoader()が良い候補かもしれません)。

NB:あなたはホットデプロイを行うつもりのよう、あなたが適切にリソースを解放するためにあなたのURLClassLoaderインスタンス上close()を呼び出していることを確認してください。ここで

は、あなたがして反射使用して動的にClassのインスタンスを作成する方法である:私は、このプロセスを制御することができますロードクラスのプロセス、下の柔軟な制御のために必要な

Class<?> myClass = Class.forName(myClassName, true, myClassLoader); 
Object myObject = myClass.newInstance(); 
+0

、URLClassLoaderのは、このために適切ではありませんターゲット。私の答えの中のリンクは私の問題を解決します。 – pacman

+0

私はすでに非常によく似たURLCLに基づいてプロジェクトを作成しています。十分なhttps://github.com/essobedo/application-managerでした。あなたのコメント/質問に、あなたの要求に明白なことが何であるかは明確ではないので、あなたもそれを使うことができません –

関連する問題