关于rmi的远程更新问题,请指教

许飘大叔 2005-11-17 02:27:03
我公司给客户做了一个系统,
目前开发代码的人离职了,
但是系统产生了问题,
想请教大家.

在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是xp1204@hotmail.com.
...全文
74 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gemouzhi 2005-11-17
  • 打赏
  • 举报
回复
你应该参考一下你手头的能升级的软件

client 上线 -》连 server ,问问有没有可以更新的?



client 取 server的jar

这就是自动。
许飘大叔 2005-11-17
  • 打赏
  • 举报
回复
to :gemouzhi(gemouzhi)
能不能说一下思路啊
gemouzhi 2005-11-17
  • 打赏
  • 举报
回复
当然可以,

这正好体现了你的软件设计的不合理。

需要再写一个程序,而且用到可户端的主程序
许飘大叔 2005-11-17
  • 打赏
  • 举报
回复
另外程序现在都以运行了,如果要改动就要改动update.jar包,
按道理不能更新自己的.
这也是一个问题.

有没有方法可以不让客户端重新手动更新而实现更新呢!!!!!!!!!!!!!!!!!1111
许飘大叔 2005-11-17
  • 打赏
  • 举报
回复
曾经成功过,单独用那些命名是可以的.
gemouzhi 2005-11-17
  • 打赏
  • 举报
回复
你把
/* exit ftp */
data = "bye\n";
outFtpCmd.write(data.getBytes());

去掉

看看OK吗?只是猜测,没测试过。
gemouzhi 2005-11-17
  • 打赏
  • 举报
回复
更简单的就是使用Ftpclient,把你上边贴的代码换掉,重新jar一下update就好了。
gemouzhi 2005-11-17
  • 打赏
  • 举报
回复
问题肯定是FTP下载有问题。

你的update.jar你, FTP下载这个功能 你测试过吗?

我一般在程序里不用命令的FTP,我估计你是不是bye的太快了的问题?
许飘大叔 2005-11-17
  • 打赏
  • 举报
回复
或者有别的更简单的更新方法.

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧