问题标签 [mq]

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 投票
3 回答
10938 浏览

java - MQ on Java 入门:从哪里开始?

我正在尝试将一些遗留连接整合到我们的一个较新的应用程序中,这标志着我第一次涉足 MQ。我们有一个中间件服务器,它接受通过 MQ 传递的 XML 消息;将其转换为对我们古老的记录系统的专有请求,然后以类似的 XML 格式在回复队列中提供响应。

我有一个输入和输出 XML 结构的示例,以及 MQ 主机、目标队列和回复队列。我不知道从哪里开始。

是否有一个不错的教程可用于使用 OpenMQ 或其他免费 MQ 库之一构建简单的请求/响应机制?

谢谢!

0 投票
2 回答
2929 浏览

delphi - Delphi + 消息队列

是否有任何免费的解决方案可以在 Delphi中使用消息队列?

我只知道Habari(它不是免费的),但在互联网上找不到免费的解决方案。


关于结束我的话题的投票。我在问一个问题,如果我需要在这里解释它是什么,可能我不知道如何回答。知道我在说什么的人可以毫无问题地回答,例如 Daniele 和 Jeroen Pluimers。

但是对于那些不知道什么是 MQ 的人:在这里您可以了解它的基本知识:http: //mq.java.net/overview.html 在了解它是什么之后,您可以阅读有关代理的信息:ActiveMQ, HornetQ、GlassFish、RabbitMQ 等......现在你知道了,我们需要一个客户端来与经纪人交谈,这是我正在寻找的这个客户端,在这种情况下,其中一个选项(几个选项)是http:/ /www.habarisoft.com/habari_openmq.html

Tks

0 投票
1 回答
1820 浏览

java - 如何使用 spring 的 DefaultMessageListenerContainer 进行手动提交?

我们有一个监听消息队列的应用程序,我知道 dmlc 提供了一个 sessionTransacted 属性,我假设它允许我们手动提交消息接收事件,但是我不确定如何在监听器中利用它。

似乎只要抛出一个 RuntimeException 消息就会被放回队列中,如果没有设置 ErrorHandler 但我们想专门提交接收,则进入循环。

例如

0 投票
3 回答
2413 浏览

c - 线程从队列中抓取其他线程 IPC 消息(Linux)

当我在 Linux 上有两个不同的 IPC 消息队列时,有时会抓取来自错误队列的消息。

下面的玩具程序显示了问题,可以在不同的处理器上重复。

非常感谢任何帮助!

伯特

0 投票
2 回答
5921 浏览

java - 如何停止在 MQ 上丢失消息

我正在编写一个在 LINUX 环境中运行的 Java 应用程序,它使用 SYNCPOINT 在 MQ 上执行事务。它使用 Websphere MQ Java 类与 MQ 服务进行交互。我在我的代码中所做的是以下(伪):

我基本上抓取消息,处理它,持久化到数据库,然后在 queueManager 上调用提交。该进程在 TIBRV 上侦听消息以进行正常关闭。

我一直在测试该过程以确保没有消息丢失。我将 20k 条消息放在一个队列中,然后运行该过程。我在处理过程中执行了一个正常的关闭调用。然后,我将队列中的消息数量与数据库中的消息数量进行比较。当通过 TIBRV 消息正常关闭时,MQ 消息数 + DB 消息数 = 队列中最初的消息总数。

但是,当我执行killor时kill -9,我看到一条消息丢失了。我总是得到 19999 条消息的结果。

有没有办法可以调查我是如何丢失这条消息的?Websphere App Server 上是否发生了我需要注意的任何事情?

0 投票
3 回答
857 浏览

c# - 什么是 Microsoft 的 MQ 系列版本?

在大学里,我们研究了 IBM 的 MQ 系列,它是一种中间件,您可以将消息发送到该中间件,并将其保存在队列中。MQ 系列具有所谓的保证消息传递,这意味着如果您将消息发送到队列,即使包含队列消息的服务器关闭并重新打开,队列也会保持不变。

Microsoft 是否有可用于 C# 和 Sharepoint 的类似技术?

0 投票
3 回答
547 浏览

java - MQ 发布/订阅特定于域的接口通常比点对点更快吗?

我正在研究使用传输层和点对点 MQ 通信的现有应用程序。

对于每个给定的帐户列表,我们需要检索一些信息。

目前我们有这样的东西来与 MQ 通信:

如您所见,我们等到它完全完成后再继续下一个帐户。由于性能问题,我们需要对其进行返工。

目前我可以考虑两种可能的情况。

1) 在应用程序中创建一组线程,这些线程将为每个帐户执行传输适配器。然后从每个任务中获取数据。我更喜欢这种方法,但一些团队成员认为传输层是进行这种更改的更好地方,我们应该在 MQ 而不是我们的应用程序上增加额外的负载。

2) 返工传输层以使用发布/订阅模型。理想情况下,我想要这样的东西:

然后我将在循环中发送请求,然后在循环中检索数据。这个想法是,当后端系统正在处理第一个请求时,我们不必等待响应,而是发送下一个请求。

我的问题是,它会比当前的顺序检索快很多吗?

0 投票
1 回答
1768 浏览

java - Spring JmsTemplate 和 WebSphere MQ - 忽略 RECEIVE_TIMEOUT_NO_WAIT

我正在使用 Spring JmsTemplate 和 WebSphere MQ(在 WebSphere App Server 内部)。

我创建 JmsTemplate 实例如下:

请注意,我将超时设置为 no_wait (-1)。但是,线程仍然阻塞。

我错过了什么?

0 投票
2 回答
2917 浏览

scala - akka actor 中的消息传递序列

我对 Akka 很陌生,在参考手册中找不到答案。

假设我们有远程参与者分布在 3 台机器(A、B、C)的集群中,其中每台机器上都有一个参与者,而其他参与者则拥有另外 2 台参与者的 actorRef,即:

演员 A 执行以下代码:

Actor B 在消息处理程序中执行以下代码:

Actor C 在消息处理程序中执行以下代码:

我可以做出以下假设(如果有的话):

  1. 演员 B 在得到 msg2 之前得到 msg1

  2. 演员 A 在得到 msg4 之前得到 msg5

以及可能导致理解上述内容的后续问题:消息是由!运营商通过网络真正异步还是等到接收邮箱得到它?即行

阻塞,直到演员 B 在其邮箱中收到消息,或者它是否产生处理传递并继续执行的线程

甚至在它知道演员 B 得到 msg1 之前?

0 投票
2 回答
4479 浏览

xml - 如何提高基于 MQ 的批处理应用程序的性能?

我有一个应用程序,其中消息以每小时 70K XML 的速度不断发送。我们使用这些 XML 消息并将其存储到中间队列中。创建中间队列是因为我们需要满足 24 小时消费所有消息的 SLA。我们能够在 24 小时内使用 XMLS 并将其加载到内部队列中。将其加载到内部队列后,我们处理 XMLS(解析、应用很少的转换、执行很少的验证)并将数据存储到高度规范化的数据模型中。我知道数据模型会对性能产生巨大影响,不幸的是,我们无法控制数据模型。目前,我们需要 3.5 分钟来处理 2K 条消息,这是不可接受的。我们希望将 2K 消息的时间缩短到 1 分钟。以下是我们迄今为止所做的:

1) 适用的应用指数。
2) 使用 XMLBeans 解析 XML(每个 XML 的大小不是很大)
3) 删除了所有不必要的验证、转换等。

应用程序运行在:
操作系统:RHEL 5.4 64 位
平台:JDK 1.6.0_17,64 位
数据库:Oracle 11g R2 64 位(2 节点集群)
外部 MQ:IBM 队列
内部临时存储 MQ:JBoss MQ
应用服务器:Jboss 5.1 .0.GA(EAP 版本)

我们消费和处理 XML 消息的顺序非常重要,因此我们不能进行并行处理。

我们还能做些什么来提高性能吗?