问题标签 [event-bus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
guava - Guava eventBus 在注销时报告“缺少事件处理程序”
尝试注销处理程序时,我从 Guava eventBus 收到以下错误。
已经回答了一个相同的问题,但根本原因是客户端编码错误。就我而言,我所做的一切都非常简单,但仍然遇到了问题。
客户端代码是一个 Apache Camel 处理器 bean,它使用多个线程(在这种情况下只有 2 个)运行。尽管 eventBus 被设计为线程安全的,但该错误仅在高流量时才出现,并且仅在 1000 次调用后才出现几次。
处理程序实例只存储骆驼交换,如果构造失败,我们会很快失败。
android - 奇怪的“无法发送事件”和“没有订阅者注册事件”问题
我已经尝试调试这个东西几个小时了,我真的看不到这里的问题。
这是我的主要活动。这里要查找的主要内容是ArrayList<Servico>
, 作为Servico
自定义对象。我创建了一个简单的“事件”类——ServicoActual
它只有一个Servico
对象引用(和一个构造函数/getter):
因此,当单击抽屉列表项时,我试图将相应的Servico
(在ServicoActual
“事件”内)传递给ServicoFragment
,它应该将Servico
' 的名称写入其TextView
.
这是单击第一项 (0) 时发生的情况:
我做错了什么?
guava - EventBus google guava 关闭钩子
目前我在我的应用程序中使用 guava EventBus 方法。侦听器尝试做一些工作,如果失败,事件应该返回总线并重新发送。
我的问题是:如果我的应用程序出现故障(执行关闭)怎么办?它会在总线上发送剩余的事件吗?
我正在寻找一些方法,例如在ActiveMQ 中实现关闭如何
代理是否应该安装一个关闭钩子,以便它可以在 JVM 终止时正确关闭自己
不幸的是,我在 EventBus guava 中没有找到类似的东西。
android - 什么时候应该调用 removeStickyEvent(...)?
我在 Android 上使用 GreenRobot EventBus 库。
有人可以告诉我,调用 removeStickyEvent(...) 的最佳做法是什么?向上操作,按下后退按钮,...?
谢谢你们。
java - 使用 Guava EventBus 的 Java 多线程
我正在使用番石榴事件总线。我有一个类似服务器的对象,它应该一直在运行,监听要发布到 b us 的事件。所以在一个junit测试(MyObject是被测类)中,我在它自己的线程中创建它来模拟这个并防止阻塞:
一切都很好,myObject 是在它自己的线程 Thread1 中创建的。然后,我在测试中将事件发布到事件总线:
我发现的奇怪的事情是,我在 MyObject 类中订阅的方法中的所有操作/日志记录都再次在主线程中执行。myObject 等待来自某些其他部分的响应,这会阻止我的测试,因为它在主线程中。为什么会这样?EventBus 或 Java 线程是不是我做错了什么?
java - AsynchEventBus、单例、线程和 Java
我是 Java 新手,并且对我正在开发的应用程序有所了解。这是我想要做的。
我有一个客户端/服务器设置,我使用 QuickServer 作为服务器。我把它弄好并且运行良好。它使用 "\r"\n" 逐行发送和接收命令,因此我的客户端位于
如果我不扩展 Thread,我的 GUI 会冻结,所以我认为 CommandHandler 需要它自己的线程。然而,问题是 AsyncEventBusSingleton。
当我在 CommandHandler 线程中调用这个类时,主线程上的其他类都没有接收到事件。如果我删除“同步”关键字,则接收/重复某些事件/生成错误。
如果不从 CommandHandler 抛出事件,一切似乎都可以正常工作,而是传递实例化 CommandHandler 的类的引用并让它调用 CommandHandler 的方法:
让客户端侦听某些命令并调度事件进行响应的最佳实践是什么?
java - 如何使用 EventBus onEvent 方法?
我在我的 Android 应用程序中使用 EventBus。在我的 mainActivity 中,我有这个处理程序方法,它将实时数据发送到 EventBus,如下所示:
我正在使用 Fragments 类,我需要从处理程序接收消息。
我已经在 onCreateView 方法中注册了 Fragment 类,如下所示:
而且我有 onEvent 方法,该方法应该在有事件时调用。不幸的是,这个方法永远不会被调用。我认为这可能是被覆盖的方法,但似乎不是。
我需要做什么才能从 EventBus 中读取消息?
另外,在调试模式下,我在哪里可以看到正在创建的线程数?(我正在使用 Android Studio)
android - 让片段可以访问数据
我有一个应用程序,它正在检索主要活动中的数据,并在它可用时立即向所有片段发送事件。所以第一次开始它看起来像这样:
应用程序启动(片段在后台初始化)-> 提要下载-> 发送到片段的通知-> 片段初始化 UI
到目前为止一切都很好。但是,如果我要恢复应用程序怎么办。数据仍将被缓存,因此我将在应用程序恢复时立即发送事件,因此可能会发生我的片段甚至还没有准备好接收事件 -> 没有片段 UI 更新!或者在片段中触发和接收事件,但片段还没有准备好进行 UI 更新,因为它还没有膨胀布局 -> NullpointerException 或者片段接收到事件,但不再附加到活动 - > 另一个例外。有很多方法可以处理单个问题,但总体而言,它使架构复杂化了很多。
不知何故,我尝试了很多东西(玩弄 Otto 总线),但不知何故,我找不到任何架构可以使中央数据源可用于应用程序中的所有活动和片段。
如果您不想使用捆绑包,如何为您的片段提供数据?
java - Akka 的事件总线是否保证消息顺序?
我想保持事件进入公共汽车的顺序。例如,如果 event1 然后 event2 进入总线,那么订阅的参与者将按该顺序获取它们。
问题是这样的顺序是否可以保证,无论是在集群还是在单节点参与者系统上。