有很多种传递的方法,Java SE里面就有RMI方式,或Socket方式(分tcp和udp两种)。这些都属于C/S的方式。
另外Java EE里面以B/S方式主要是用客户端向服务器端的servlet/jsp发起请求实现的,其底层用的是>�0�2我知道apache有个commons net包,其中的FTPClient类可以实现客户端和服务之间的文件传输,但是我如果使用这种方式的话,就得将一台服务器上的文件传到我本地,再将这个文件传到另一台服务器上,感觉这中间多了一步 *** 作;我想请问大家如何能不通过本机,直接 *** 作两台服务器,将文件从一台服务器传到另一台服务器上,如果有人知道实现方式,希望不吝赐教,谢谢了!问题补充:<div class="quote_title"suziwen 写道</div<div class="quote_div"把JAVA程序放在其中一台FTP服务 器A上,通过A服务器上的JAVA登录到另一台FTP服务器,F代码执行文 件的上传,下载。 / /</div / /谢谢你们的回答,你们说的这种方式我明白。这个需要看你的环境了,如果其它Linux都是在内网,网络环境可以排除,这时只关心业务,如果业务不复杂,这里毕竟是只开一个壳,业务处理都在另一端,但是如果传输到连接服务器上的数据比较大,那建议少开一些,比如并发300-400左右,要不会卡死,如果传输数据较小,那无所谓了,开个一两千都不是问题
但是如果其它服务器都在外网环境的话,那需要再加上带宽计算这个问题从根本上来说是系统计算资源不足导致的,难于解决。
我们可以考虑解决的方向:
1 最简单的,换上更好的硬件,但要花钱;
2 其次,可以在服务器限制一次并发访问的数量,这样也能解决,但会导致一部分用户体验下降;
3 再次,仔细的分析后台代码,找出瓶颈所在,并通过优化算法等改进性能,但耗时最久,并且也不一定能最终解决。每个项目一个表空间,这不会出问题。主要是3个项目最后打包的东西所用到的第三方提供的 jar 类库的共享问题。如果大家用相同的 jar 就尽量用同一个版本,如果没办法做到用同一个版本就尽量把它们放到自己的 ear 里面或 WEB-INF/lib 下面,不能直接把同一个 api 的不同版本同时放到服务器的 lib 目录下。
ear 本身是一个 zip 格式,它可以包括 ejb 的 jar, war 之类的,另外还可以把第三方的 springjar,hibernatejar 之类的也放在里面,然后你的 ejb 源文件夹的 META-INF/MANIFESTMF 里面的 Class-Path: springjar hibernatejar 这样用相对位置来引用第三方 jar 就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)