gpt4 book ai didi

java - 如何在不同的 web 应用程序中使用 EventBus 共享事件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:38 24 4
gpt4 key购买 nike

我正在使用 tomcat。我想把 Guava jar 和我自己的 jar 放在 tomcat/lib 中。我的 jar 有一个工厂来获取事件总线,所有网络应用程序都可以访问该工厂。我不知道如何在 webapp1 中注册一个监听器并从 webapp2 发布一个事件。我在 webapp2 中使用的对象在 webapp1 中不存在,我只能共享 java 对象,如字符串、字符串映射等,但不能共享来自其他 webapp 的对象。

一些想法?

最佳答案

这是一个类加载问题:很可能,webapp1 的域类在 webapp2 中没有(也不应该)可用。相信我,当我说的时候,您不想在 Web 应用程序之间共享实时对象。

如果你想共享数据,请考虑使用适当的 JMS(或其他类似的消息库),如果你想共享行为,请使用 REST 服务。仅提及简单的通用解决方案。

综上所述,如果你真的需要去那里,你可以把你想分享的类放在一个 jar 里,然后把它和 Guava 放在服务器范围的类路径中+支付额外费用注意部署程序,因为您会造成内存泄漏。 (不过,每次你使用那种讨厌的 hack 时,god kills a kitten)

关于java - 如何在不同的 web 应用程序中使用 EventBus 共享事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12898959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com