在以前公司的时候,看别人做过一个项目,是个监控系统,后来有个问题我百思不得其解。
那个项目是个监控系统。
用mina框架负责和被监控程序之间的通信。用tomcat下Struts等负责监控信息的展现等。当时我看了,他们的工程在eclipse下是2个不同的工程。
但后来部署的时候却是部署在一起的,而且两个工程之间要相互信息共享,数据量也比较大。
现在我就不明白是怎么弄的。如何让这两个工程同时部署,而且又能像在一个工程下那样对数据对象随意相互访问(似乎是只有一套pojo之类的)
我想了很久想不明白,也查不到资料,近天终于忍不住半夜起来发帖求问,顺带:我第一次在这里发帖,不大懂规矩,回帖的人可以提醒下
[b]问题补充:[/b]
非常感谢一楼的回答,在此谢过先
您说的第二种方法,把两个工程同时放以war包的形式部署,然后以servletContext的形式共享数据。可是据我所知,servletContext只是在同一个应用范围内共享数据啊
主要是设置下conf/server.xml
加入crossContext='true',A应用先拿到B应用的context
contextMina=contextA.getContext("/minaAppXX");
但我觉得你那项目是使用第一种方式,只是开发时,两个工程加入互相引用就可以了
一种方式是,mina那工程打包成独立的jar包,放入那个web工程lib下部署,互相约定接口就可以调用mina工程服务了。
一种是,互相独立以war包的形式部署到同个tomcat,然后通过ServletContext共享某对象,具体是mina把服务对象放入ServletContext实例中,然后web程序从这个ServletContext实例取出这个服务对象就可以使用了,mina这个工程肯定是实现了一套抽象服务接口,而这套抽象接口以独立的jar包放在web工程里。