其实这个题目只是为了吸引人,不过也八九不离十了.事情是这样的,公司最近接到一个项目,其中由一个模块是图片(有很多种格式,有些图片相当的大).我先说说规则(不能改变的规则,我也很郁闷):有两台主机A和B,A是weblogic,B负责存储图片(这台可以是tomcat等免费的服务器).老大的意思是用户提交一个表单(这个表单有要上传的图片和文字说明),提交后,图片将会保存在B上,而图片描述和文字说明提交给A的weblogic.
这还没完,用户还可以浏览该图片和描述(意思就是A主机的weblogic要保存该图片在B的url地址),还要他娘的保持一致性,请问各位大侠Weblogic可以和tomcat集群么?或者有其他办法?小弟刚工作,不太明白.还请各位指教.

解决方案 »

  1.   

    呵呵,兄弟,我Weblogic没用过,
    只能帮你顶!
      

  2.   

    唉,至今没有福气在工作中使用weblogic,只能帮LZ顶了
      

  3.   

    B负责存储图片不就是一个文件服务器吗,为什么要用tomcat,直接把b的空间mount到a上,让a的weblogic向里面写数据不就完了
      

  4.   

    我们是两个tomcat项目,感觉和LZ的需求差不多,可以在项目中配置一个参数,也就是B服务其所在项目的物理路径,通过A上传的文件,存放在B的服务器上面,当A服务器要调用B服务期的文件的时候,A服务器用一个Bean的属性来存放B的虚拟路径,就是这样:
    上传地址:“c://WebRoot”  这个是参数,A服务期存放文件的物理路径
    显示地址:
    public class Bean{
      private path="www..com/B服务器的发布地址";
      get方法
    }
    页面中显示的时候就调用 Bean.getPath()+上传文件名称  就可以了
      

  5.   

    B是局域网内的一台主机,B负责存储图片,A是远端的主机,负责存储该图片的描述,图片只能本地传送,只能由客户端到B绝对不能先上传到A再给B
      

  6.   

    回复7楼,请问你这样需要先把图片上传到A再给B?还是客户端直接把图片给B?
      

  7.   

    恩,你的问题需求还是不太一样,我们这里项目A和项目B是在一台服务器上面,用A上传的时候只需要给一个B项目的物理地址,就可以实现上传到B服务器,然后再通过B的发布路径调用。你的问题……
    期待高人帮你解决,我也学习了
      

  8.   

    我瞎想了一下啊,说不对别怪我,你说这样是否可以:因为发布服务器是A的,是否可以把上传页面单拿出来,在B服务其上面做,然后A里面调用这个地址上传。
    显示和下载还是一样,通过A存储B的发布地址来调用…………
    我都觉得自己说的不太靠谱
      

  9.   


    用mount可以解决
    应用服务器不必关心
      

  10.   

    我终于想明白了,应该做两个项目,父与子,父是指部署在A主机项目,子是指部署在B主机上面的项目,两个项目同时操作A主机上的数据库.我的图片模块全部交给子项目(图片和表单都通过B项目提交给B主机,B把图片保存在本机上,信息存储在A的数据库里).而父项目只保存该模块的链接(假如用户需要操作图片就直接链接到B项目上),该父项目不包含任何图片相关的模块.
    这样两个项目分别处理,互不干扰,就没有一致性的问题.
    再次感谢各位,以上回复都有分
      

  11.   

    在A上提交图片,把图片通过网络传输协议TCp或者java中的JMS传输到B中,B接受到后,把图片保存到固定目录中,然后在A中对提交的说明和描述外加图片的名称添加到一个存储介质中,例如说某文件或数据库,访问时文字描述从存储介质中取出,然后取出图片名称,B存储的固定目录filePAth+“/”+文件名称,组成访问url,在A中调用。你看这样可否?
      

  12.   

    通常是nfs什么的,你的问题很少见,需要把request中的inputstream分开,然后服务器之间还要搞数据关联通信什么的。
    我觉得还是ie上做文章,搞个分步骤提交之类的,比如ajax或什么的,模拟一下,先提交个图,返回id再post个data