Hallo,
ich habe einen Client, der auf meinen JBoss (localhost:2001) zugreift. Das funktioniert auch. Nur muss ich bestimmte Klassen im Client beibehalten, obwohl diese in der EAR-Datei vorhanden sind.
Dieser Code funktioniert:
Code
javax.naming.InitialContext initial=new javax.naming.InitialContext(getProperties());
SecurityManager sm=new SecurityManager();
SecurityManager secman=(SecurityManager) System.getSecurityManager();
System.setSecurityManager(sm);
String klasse="src_gruppeS";
Object lookupObj=initial.lookup(klasse);
danach dann dieses Script, das tadellos funktioniert, wenn die Klasse 'gruppeSHome' im Client eingebunden sind:
Code
String CurClass="src.srv.gruppeSHome";
Class classSHome=Class.forName(CurClass);
EJBHome home=(EJBHome)javax.rmi.PortableRemoteObject.narrow(lookupObj,classSHome);
Class classH=home.getClass();
Method meth1=classH.getMethod("create",null);
Object doservice=meth.invoke(home,null);
ich will aber die Klasse, die in der EAR-Datei des JBoss vorhanden ist benutzen. Wie kann ich sie aufrufen, wenn
der Klassenname erst zur Laufzeit bekannt ist?
Bei folgendem Quelltext
Code
String CurClass="src_srv_gruppeSHome";
Class classSHome=(Class) initial.lookup(CurClass);
EJBHome home=(EJBHome)javax.rmi.PortableRemoteObject.narrow(lookupObj,classSHome);
Class classH=home.getClass();
Method meth1=classH.getMethod("create",null);
Object doservice=meth.invoke(home,null);
bekomme ich die Exception javax.naming.NameNotFoundException: src_srv_gruppeSHome not bound
Wer kann helfen?