问题标签 [messaging]

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.

0 投票
1 回答
8644 浏览

message-queue - 在 FIFO 排队系统中,实现优先级消息传递的最佳方式是什么

对于不始终支持优先级消息的面向消息的中间件(例如 AMQP),当队列只有 FIFO 语义时,实现优先级消费的最佳方式是什么?一般用例是这样一个系统,当队列中存在大量消息积压时,消费者在接收优先级较低的消息之前接收优先级较高的消息。

0 投票
2 回答
325 浏览

jms - 消息中间件 - 如何避免使用通配符订阅重入?

消息中间件解决方案(JMS、Tibco 等)允许通过“主题”过滤发布/订阅,使用通配符订阅某个“主题”的所有消息,例如 SUBSCRIBE("ACCOUNT.*") 主题允许您订阅两者“ACCOUNT.WITHDRAW”消息和“ACCOUNT.CHECKBALANCE”消息。

问题是这样的订阅也会收到我自己发布的消息。

我正在寻找一种机制,类似于 UDP 多播环回,它可以由传输层打开或关闭,而不会弄乱正在发送的数据。

是否有一种通用的声明性(无自定义代码,仅配置)方式来配置中间件不接收同一服务实例已发布的消息?理想情况下,这也应该能够过滤掉由相同“种类”的所有服务器(节点)发布的所有内容。

提前致谢。

0 投票
1 回答
1151 浏览

java - 消息传递的幂等性屏障

我最近看到的关于RabbitMQ的一个演示文稿提到了使用称为“幂等性屏障”的东西来进行消息重复数据删除。这只是消息混合器的一个花哨名称还是更具体的名称。如果是这样,它到底是什么?谷歌搜索产生的结果大多与 RabbitMQ 相关,几乎没有解释它是什么。

0 投票
3 回答
555 浏览

c# - 如何查看与第二个线程一起显示的对话框的 Windows 消息?

我已经使用注册了一个消息过滤器

使用它,我可以记录用户在应用程序的用户界面中所做的所有鼠标点击。

但是,一个对话框在单独的线程上运行,代码如下:

我设置的消息过滤器看不到进入此窗口的消息。我怎样才能得到它们(最好不要太打扰)?

我试图覆盖 MyDialog.PreProcessMessage,但我很困惑这似乎永远不会被调用。

谢谢。

0 投票
2 回答
117 浏览

.net - 我应该如何保证“消息”只发送和存储一次?

我正在为两家公司设计 EDI 系统:A 公司和 B 公司。A 公司已经作为一家小型制造企业而存在,而 B 公司是一家围绕特定产品成立的新公司,由 A 公司的所有者参与. A 公司将拥有为 B 公司生产产品的专有权。

我负责这两家公司的所有 IT 和开发工作。我需要设计一个 EDI 系统,用于从 B 公司向 A 公司传达订单和其他信息,反之亦然(用于确认和状态更新等)。

这种类型的东西对我来说相当新,所以我只是在寻找关于如何从 B 公司向 A 公司发送新订单并保证它到达那里、被存储并且不会被多次发送的建议.

我想我可能会用网络服务来做这件事。我应该研究 WCF 服务还是坚持使用 ASP.Net Web 服务?

我假设我会在每个订单中发送一个唯一的 ID,以便 A 公司的系统会在出现混淆时识别不保存两次,但我如何确定 A 公司得到了信息?

任何其他提示或建议都非常受欢迎。

0 投票
3 回答
4445 浏览

jboss - 如何暂停 JMS 主题订阅者接收消息

我的设置:在 JBoss 4.2.3 上运行的 JBoss Messaging 1.4

我有几个订阅一个主题的 MDB,MDB 的 onMessage() 尝试将收到的消息分别传递给一个 Web 服务。

我的问题是我不知道在网络服务离线的情况下如何暂停订阅。

我的计划是在 onMessage() 中执行以下操作:

  1. 尝试交付到网络服务
  2. 如果离线:
  3. --> 暂停订阅
  4. --> 在 onMessage() 中抛出异常,让 JMS 重新传递消息,直到 Web 服务再次上线
  5. --> 开始订阅

我只想暂停一个有问题的订阅——而不是我的所有订阅者。

关于如何解决这个问题的任何建议?

0 投票
4 回答
4314 浏览

java - 为什么我应该使用 ActiveMQ 发送电子邮件?

许多周前推荐我发送电子邮件,ActiveMQ。所以我搜索有关此的信息,但我不完全了解它是如何工作的。有人能解释一下为什么我应该使用 ActiveMQ 发送电子邮件吗?

0 投票
2 回答
328 浏览

architecture - EAI/中间件:大量消息内联或引用

是否有通过中间件或 EAI 系统处理处理大量数据(MBytes?GBytes?)的消息或请求/响应的良好做法,假设中间件传输但不处理巨大的数据块?

  • 使用消息传输数据以保持一致性,但可能会在系统之间多次复制大量数据

  • 将数据保存在存储或数据存储库(文件系统、数据库等)中并传输对数据的引用,但会丢失消息和数据之间的紧密耦合

这个问题的常见解决方案是什么?EAI 或中间件产品如何支持这一点?

0 投票
3 回答
1688 浏览

jquery - jGrowl:如何将我的界面一次限制为一条消息?

给定:我在页面加载时加载了一个消息队列。

使用 jGrowl,我如何以类似滴水的方式显示每条消息,一次一条消息?

0 投票
4 回答
797 浏览

c# - 线程间通信时间

我通过端口和接收器将 15 个异步操作链接在一起。这让我非常关心线程间消息传递时间,特别是从任务将数据发布到端口和新任务开始在不同线程上处理相同数据之间的时间。假设每个线程在启动时处于空闲状态的最佳情况,我生成了一个测试,该测试使用秒表类来测量来自两个不同调度程序的时间,每个调度程序都以最高优先级运行单个线程。

令我惊讶的是,我的开发设备是一台运行 Windows 7 x64 的 Q6600 四核 2.4 Ghz 计算机,我的测试的平均上下文切换时间为 5.66 微秒,标准偏差为 5.738 微秒,最大值接近 1.58 毫秒( 282 倍!)。秒表频率为 427.7 纳秒,所以我仍然远离传感器噪音。

我想做的是尽可能减少线程间消息传递时间,同样重要的是,减少上下文切换的标准偏差。我意识到 Windows 不是实时操作系统,也不能保证,但 Windows 调度程序是一个基于公平循环优先级的调度,并且此测试中的两个线程都处于最高优先级(唯一应该是的线程高),所以线程上不应该有任何上下文切换(从 1.58 毫秒的最大时间可以看出......我相信 windows quanta 是 15.65 毫秒?)我唯一能想到的是操作系统调用时间的变化CCR 用于在线程之间传递消息的锁定机制。

请让我知道是否有其他人测量过线程间消息传递时间,并对如何改进它有任何建议。

这是我测试的源代码: