提问
我正在使用tomcat.我想把番石榴罐和我自己的罐子放在tomcat / lib中.我的jar有一个工厂来获取事件总线,所有Web应用程序都可以访问该工厂.我不知道如何在webapp1中注册侦听器并从webapp2发布事件.我在webapp2中使用的对象在webapp1中不存在,我只能共享java对象(例如String,字符串映射等),而不能共享其他webapp中的对象.有什么想法吗?
最佳答案
这是一个类加载问题:webapp1的域类很可能在webapp2中不可用(也不应该).相信我,当我说时,您不想在Web应用程序之间共享活动对象.如果要共享数据,请考虑使用适当的JMS(或其他类似的消息传递库),如果要共享行为,请使用REST服务.仅提及简单的常见解决方案.
话虽如此,如果您真的需要去那里,则可以将要共享的类放在一个jar中,并将它和番石榴放在服务器范围的类路径中,因此在创建内存时要格外注意-泄漏. (不过,每次您使用这种讨厌的骇客,上帝都会杀死一只小猫)