Sobre URLClassLoader en tomcat
Publicado por alvaro mouat (15 intervenciones) el 28/09/2004 17:38:25
Hola.
Tengo el siguiente problema:
En NetBeans debugeo una aplicacion que carga dinamicamente una clase de tipo MyClase con un URLClassLoader para asignar una instancia a una variable de tipo MyClase del siguiente modo:
java.security.ProtectionDomain pd = this.getClass().getProtectionDomain();
java.security.CodeSource cs = pd.getCodeSource();
URL loc = cs.getLocation();
ClassLoader cLoader = URLClassLoader.newInstance( new URL[] { loc } );
MyClase mc = (MyClase)cLoader.loadClass(MyClase.class.getName()).newInstance();
Esto lo hago con el fin de poder modificar la clase sin tener que detener la ejecucion del programa.
En tiempo de debug esta todo bien, pero al pasar las clases a su ruta definitiva en tomcat (Es una aplicacion Web) me da una excepcion del tipo
java.lang.ClassCastException.
en la linea
MyClase mc = (MyClase)cLoader.loadClass(MyClase.class.getName()).newInstance();
he probado distintos panoramas como modificar la linea y poner
Object obj = cLoader.loadClass(MyClase.class.getName()).newInstance();
MyClase mc = (MyClase)obj;
y el error ahora se da en esta linea, repito, solo en tomcat.
En el debug del NetBeans no tengo ningun problema.
Cualquier ayuda o comentario al respecto, gracias...
Suerte.
Tengo el siguiente problema:
En NetBeans debugeo una aplicacion que carga dinamicamente una clase de tipo MyClase con un URLClassLoader para asignar una instancia a una variable de tipo MyClase del siguiente modo:
java.security.ProtectionDomain pd = this.getClass().getProtectionDomain();
java.security.CodeSource cs = pd.getCodeSource();
URL loc = cs.getLocation();
ClassLoader cLoader = URLClassLoader.newInstance( new URL[] { loc } );
MyClase mc = (MyClase)cLoader.loadClass(MyClase.class.getName()).newInstance();
Esto lo hago con el fin de poder modificar la clase sin tener que detener la ejecucion del programa.
En tiempo de debug esta todo bien, pero al pasar las clases a su ruta definitiva en tomcat (Es una aplicacion Web) me da una excepcion del tipo
java.lang.ClassCastException.
en la linea
MyClase mc = (MyClase)cLoader.loadClass(MyClase.class.getName()).newInstance();
he probado distintos panoramas como modificar la linea y poner
Object obj = cLoader.loadClass(MyClase.class.getName()).newInstance();
MyClase mc = (MyClase)obj;
y el error ahora se da en esta linea, repito, solo en tomcat.
En el debug del NetBeans no tengo ningun problema.
Cualquier ayuda o comentario al respecto, gracias...
Suerte.
Valora esta pregunta


0