helper=new ComponentHelper(this); log=helper.getLogger();
    public synchronized void sfDeploy() throws SmartFrogException,    RemoteException {        try {            super.sfDeploy();            readSFAttributes();            //Create subProcess            File workDirFile = new File(workDir);            subProcess = runtime.exec(                    createCmd(shellPrefix,shellCommand, shellCommandAtt),                    envProp,                    workDirFile);            dos = new DataOutputStream(subProcess.getOutputStream());            StreamGobbler outputGobbler;            StreamGobbler errorGobbler;            OutputStream outputStream = null;            // any output?            if (outputStreamObj != null) {                outputStream = outputStreamObj.getOutputStream();            }            outputGobbler = new StreamGobbler(subProcess.getInputStream(),                    "[" + getNotifierId() + "] " + "OUT",                    outputStream, printMsgImp);            // any error message?            if (errorStreamObj != null) {                outputStream = errorStreamObj.getOutputStream();            } else {                outputStream = null;            }            errorGobbler = new StreamGobbler(subProcess.getErrorStream(),                    "[" + getNotifierId() + "] " + "ERR",                    outputStream, printErrMsgImp);            errorGobbler.setPassType(false);            outputGobbler.setPassType(false);            // kick them off            errorGobbler.start();            outputGobbler.start();            thread = new Thread(this);            //Start listener            thread.start();            sfReplaceAttribute(varStatus, "deployed");        } catch (Throwable t) {            throw SmartFrogLifecycleException.sfDeploy(t.getMessage(),t,this);        }    }