| | |
| Stránka: 1 z 1
| [ Príspevok: 1 ] | |
Autor | Správa |
---|
Registrovaný: 16.03.11 Prihlásený: 16.03.11 Príspevky: 1 Témy: 1 |
Nazdar. Mam takyto problem. Posielam pomocou socketov od servera ku klientovi prud bajtov, ktory obsahuje zoserializovany objekt a taktiez jeho implementacnu triedu. Ta cast bajtov, ktora obsahuju implementacnu triedu natahujem vlastnym ClassLoaderom:
public class MyLoader extends ClassLoader {
byte[] buf;
public MyLoader(byte[] buf) {
this.buf = buf;
}
@Override
protected Class<?> findClass(String name) throws ClassNotFoundException {
return defineClass(null, buf, 0, buf.length);
}
zvysna cast bajtov je precitana objektom ObjectReader, ktory dedi od triedy ObjectInputStream, pretoze som potreboval zaviest svoj ClassLoader (MyLoader):
public class ObjectReader extends ObjectInputStream {
byte[] buf;
public ObjectReader(InputStream input, byte[] buf) throws IOException {
super(input);
this.buf = buf;
}
@Override
protected Class<?> resolveClass(ObjectStreamClass desc) throws ClassNotFoundException
{
String name = desc.getName();
try {
return Class.forName(name, false, new MyLoader(buf));
} catch (ClassNotFoundException ex) {
throw ex;
}
}
}
pri spusteni mi vybehne nasledujuca vynimka s ktorou si neviem poradit:
java.lang.ClassCircularityError: blabla/Impl
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
at sk.tuke.bpa.register.MyLoader.findClass(Loaderik.java:46)
ak sa niekto s tymto stretol, poradte mi prosim co mam zle, pripadne ako sa jej da zbavit. Este jedna vec ma napadla. Tato vynimka mi len vyskoci ak tuto celu masineriu aplikujem vo webovom projekte, v desktopovom projekte to funguje bez akejkolvek vynimky a ja to prave potrebujem aplikovat vo webovom projekte.
Dikes.
|
|
| Stránka: 1 z 1
| [ Príspevok: 1 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|