我公司给客户做了一个系统,
目前开发代码的人离职了,
但是系统产生了问题,
想请教大家.在AIX上放有rmi客户端程序,
在30台window server上放有rmi服务端程序,以windows服务的形式一直在运行状态.
在客户端通过带主机名的命令可以调任何一台windows上的程序,
但是如果要更新windows上的程序,那么每一台都要更新.
很麻烦(客户不可能接受的),
如是实现了自动更新.
在windows上都有两个包
一个hostProxy.jar实现业务逻辑
一个update.jar,实现更新功能,更新hostProxy.jar文件.
是通过ftp更新的.
将aix上的新的hostProxy.jar文件下载到windows server上.
更新的代码如下, File ftpCmdCfg = new File("保存ftp命名的文件");
      FileOutputStream outFtpCmd = new FileOutputStream(ftpCmdCfg);
      String data = "";     data = "open " + ftpServer + " " + ftpPort + " \n";
      outFtpCmd.write(data.getBytes());
      /* user */
      data = ftpUser + "\n";
      outFtpCmd.write(data.getBytes());
      /* pwd */
      data = ftpPasswd + "\n";
      outFtpCmd.write(data.getBytes());
      /* cd upload path */
      data = "cd " + uploadPath + "\n";
      outFtpCmd.write(data.getBytes());
      /* bin */
      data = "bin\n";
      outFtpCmd.write(data.getBytes());
      /* get file */
      data = "get\n";
      outFtpCmd.write(data.getBytes());
      /* remote file  */
      data = uploadPath + fileName + "\n";
      outFtpCmd.write(data.getBytes());
      /* local file */
      data = "\"" + localPath + fileName + "\"\n";
      outFtpCmd.write(data.getBytes());
      /* exit ftp */
      data = "bye\n";
      outFtpCmd.write(data.getBytes()); String ftpCmd = "ftp -i -s:\"" + 保存ftp命名的文件 + "\"";
      p = Runtime.getRuntime().exec(ftpCmd);不知道我说明白没有,
问题是更新以后hostProxy.jar是0k大小.
不知道问题在哪里.请大家指教
我的msn是[email protected].

解决方案 »

  1.   

    问题肯定是FTP下载有问题。你的update.jar你, FTP下载这个功能 你测试过吗?我一般在程序里不用命令的FTP,我估计你是不是bye的太快了的问题?
      

  2.   

    更简单的就是使用Ftpclient,把你上边贴的代码换掉,重新jar一下update就好了。
      

  3.   

    你把
          /* exit ftp */
          data = "bye\n";
          outFtpCmd.write(data.getBytes());去掉看看OK吗?只是猜测,没测试过。
      

  4.   

    另外程序现在都以运行了,如果要改动就要改动update.jar包,
    按道理不能更新自己的.
    这也是一个问题.有没有方法可以不让客户端重新手动更新而实现更新呢!!!!!!!!!!!!!!!!!1111
      

  5.   

    to :gemouzhi(gemouzhi)
    能不能说一下思路啊
      

  6.   

    你应该参考一下你手头的能升级的软件client 上线 -》连 server ,问问有没有可以更新的?有client 取 server的jar这就是自动。