public void undeploy() { // on tue notre RemoteWrapper associé, par contre, on ne touche pas aux fichiers de déploiement // car on est peut être pas le seul // élément de cette classe de composant try { remoteWrapper.killRemoteWrapper(); } catch (Exception e) { // au pire on prendra une exception ici car on aura éteint le serveur RMI. // Mais on est sûr que le remoteWrapper existe, sinon le composant n'aurait pas été lancé } }
public boolean isDeployed() { // si on a une référence sur notre alter ego distant, on lui demande juste si il est déployé ! // on fait un ping quoi. boolean retour = false; try { deployThread.join(); retour = deployed && remoteWrapper.isDeployed(); } catch (Exception e) { Generator.logger.error("Exception", e); } return retour; }
/** *** Interfaces WrapperItf *** */ public void meth(String className, String methName, Object[] args) throws RemoteException { try { LinkFc lkfc = ((LinkFc) linkfc.get(className)); if (lkfc.isMeth()) { Generator.logger.info( "Running meth " + lkfc.getClassName() + "." + lkfc.getMethodName() + " on " + getWrapperName()); Object[] argsR = lkfc.resoud_arg(); String argsRS = ""; for (int i = 0; i < argsR.length; i++) argsRS = argsRS + (String) argsR[i] + " "; Generator.logger.info(" with args " + argsRS); remoteWrapper.meth(lkfc.getClassName(), lkfc.getMethodName(), lkfc.resoud_arg()); } else lkfc.apply(); } catch (Exception e) { Generator.logger.error("Exception - ", e); } }