其中  有一个java项目名称为“shar.jar”
      两个java web项目名称为 “p1.war” “p2.war”
描述:p1.war项目修改shar.jar中的数据为100。p2.war 获取 p1.war 修改的数据 100 。反之p2.war修改shar.jar中的数据200 ,p1.war获取p2.war数据为200 ,用项目的部署方式实现,同时部署到tomcat或是jboos中
多项目共享多项目共享数据warjar

解决方案 »

  1.   

    实际上不同的war应用,是分别属于不同的应用Context了,数据怎么可能通过调用了一个jar就共享了呢?
      

  2.   

    就是共享一个jar文件,怎么做到呢
    多个web共享一个jar文件,每一个web修改项目的修改,其他web修改也可以使用,请问有什么好的解决方法吗
      

  3.   

    我想多个web项目同时访问一个jar文件,可以实现共享数据的功能
      

  4.   

    没有就是一个web项目修改了,其他web项目可以通过访问jar文件访问到数据
      

  5.   

    数据不能放内存了,提供jar的项目操作内存数据库,如hsqldb,h2db等
      

  6.   

    最简单的办法就是将所有的数据都存到数据库(mysql或者内存数据库)里面其次可以将sha.jar放到一个War里面,
    数据在内存里面,然后提供接口给另一个War来调用
    当然,要记得控制状态不过我觉得楼主你这个问题不是需求有问题就是技术架构有问题
      

  7.   

    EJB stateful session bean
      

  8.   

    是的,就是架构问题!我不想操作数据库,如果要用内存数据库的话,不同war他们的容器是不一样的,所以还是实现不了共享数据库
      

  9.   

    内存数据库可以实现多个war容器共享数据吗!提供一下资料或是思路
      

  10.   

    各位高手有没有Ear打包过呢!怎么创建到整合到发布   请教各位高手
      

  11.   

    拋磚引玉
    没遇到过这种问题, 用序列化解决是否可以?P1.WAR 序列化对象到文件,然后P2.WAR反序列化得到对象。反之亦然。
    这个问题的确是个问题。为什么要这样实现?
      

  12.   

    用C/C++写个函数,在操作系统级别加锁。然后通过jndi调用。
      

  13.   

    我想做一个公共的池出来,然后让所有的war包都去调用公共的数据,每一个war修改其他war都能获取到,所以不知道怎么实现的方式
      

  14.   

    目前想到的只有ear包同意打包,共享jar包的方式可以不同的容器访问一内存空间,但是ear没有做过
      

  15.   

    要不用jms(java 消息服务)?被共享数据的对象自己管理锁,这样代价就小多了。感觉没必要为一些小数据而引进内存数据库,不划算的。
      

  16.   

    不知道是不是楼主想的那样,JAR作为连接数据库的接口存在,然后2个WAR包同时取调用这个接口?
      

  17.   

    其实都是可以的,只是想所有的数据放到一个jar包中的一个static变量中就可以,然后每次其他war包修改这个static静态变量,就可以共享了,
      

  18.   

    说对了一半,想让jar包是我的数据池一样的东西,可以让其他war共享用引入的方式去做,怎么搭建这个环境
      

  19.   

    在p1,p2分别封装可互相调用的接口(访问和推送),p1获取到shar的数据并修改后推送给p2,这处理过程支持可逆就可以了。
      

  20.   

    把shar.jar变成一个war,p1.war和p2.war都用webservice方式调用shar.war,这样改动比较小吧。
      

  21.   

    webservice 有接口并发数,可能多并发时候有问题
      

  22.   

    你原来p1.war调用shar.jar的模式是什么?难道没有并发问题吗?怎么解决的?
      

  23.   

    shar.jar文件时工具类,所以并发问题不会的
      

  24.   

    不知道webservice可不可以,你可以百度webservice看看
      

  25.   

    用WebService向外发布接口,然后相互调用即可
      

  26.   

    两个应用要想交互不是简单的引用同一个jar包就可以的,这是跨系统通信,要做接口。不涉及到数据交互,只是共享的话,可以用memcached,简单方便
      

  27.   

    多个war项目怎么继承到一起呢,可否详细说一下呢
      

  28.   

    2个项目共享数据.  再整一个项目提供两个远程接口(用什么协议, 什么实现自已决定, WEBSERVICE, RMI, HESSION等), 暴露一个修改, 一个查询的功能. 供这2个项目调用就行了.
    这是一种实现方式.
      

  29.   

    使用两个war工程共有的同一个父类加载器来加载shar.jar包。这样对不同的war工程都可以访问到shar.jar的同一份全局对象。
    不知道我这个思路可以不?
      

  30.   

    这个问题怎么还没纠结完啊。2个war就是2个jvm,共享了jar仍然是2个jvm,不管怎么调用数据都不能共享。
    我告诉你的办法就是webservice,你要是系统并发量太高就弄排队系统在前面顶着,或者直接使用lhliaiuiang说的memcached,或者2个war写个同步逻辑,数据备份成2份。
    memcached的方法代码写着最简单,到网上搜下,实例挺多。