问题标签 [stomp]

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 回答
1840 浏览

php - PHP:Stomp - 是否可以在“send()”上捕获错误?

我正在使用PHP Stomp 客户端发送 stomp 消息。

我想在后台打开一个持久连接,偶尔发送消息。

但是,如果在打开连接后(在 send() 上)发生连接错误,我找不到处理连接错误的方法。

例如,运行时:

输出:send successful

即使连接在 中断开sleep(),也send()始终返回 true。

文档不是很有帮助,Stomp::error()并且在stomp_connect_error()返回时也没有太大帮助false

作为临时解决方案,我在每个send().

有没有更好的方法来捕获连接错误?

0 投票
1 回答
563 浏览

stomp - 用于持久订阅的 stomp 协议常规序列

我正在使用活动 mq 实现作为 stomp 服务器/代理来使用 stomp 协议。我想有一个 stomp 客户端的消息队列,可以在客户端离线时填充,这样当客户端不时连接时,它可以获取离线时已经存放的消息。

正如我所读到的,这可以通过简单订阅或持久订阅来实现。我决定持久订阅。这是正确的方法吗?

然后我想知道我应该在客户端使用哪些消息和标头。实际上我正在使用以下内容

连接

  • 登录:
  • 密码:
  • 客户端 ID:some_mac_adr

订阅

  • 目的地:/queue/some_mac_adr
  • 收据:收据-msg
  • 持久订阅者名称:默认

现在等待消息

超时 -->

断开

此消息序列是否正确?此外,我没有使用取消订阅命令。这也正确吗?

0 投票
0 回答
824 浏览

python - 在 python 中使用 Stomp 在 ActiveMQ 中实现故障转移

我已经搜索了实现故障转移的 python stomp 库,但找不到任何人。在 1000 台机器(运行消费者程序的客户端)上设置 pyactivemq(文档说它支持故障转移)也太困难了。我想在现有的 python stomp 库之上制作一个包装器,以便客户端可以在任何代理失败的情况下接收消息。

当一个失败时从两个代理中的任何一个获取消息更容易,我们只需要使用一次尝试捕获,然后尝试连接到另一个。但是我不知道主人如何知道在故障转移期间已获取的任何消息,因为当主人出现时,客户端将再次看到这些消息。

可以在代理配置中为此提出任何建议吗?

0 投票
0 回答
9838 浏览

python - 使用 python stomp api 接收消息

我可以找到 python stomp 消费者订阅和接收消息(来自 activemq 代理)的工作示例。我检查了 python stomp API,但它似乎不支持类似conn.receive. 无论如何我可以达到同样的效果。

0 投票
1 回答
1398 浏览

activemq - 踩住 ActiveMQ 问题

我是 Stomp ActiveMQ 的新手。我想从 android 客户端创建登录,但我不知道如何使用 ActiveMq。我已经安装了活动 mq,配置了 stomp 并运行了 stompexample。1.如果我在activemq.xml中添加以下行,从命令行运行activemq时会出错:

  1. 有人可以解释一下 tx1 和 tx2 是什么吗?有没有办法在队列中向特定客户端发送消息?如何?

    connection.connect("系统", "经理");

    /li>
  2. 有人可以告诉我如何创建一个应用程序,该应用程序在队列上发送包含用户名、密码的文本,并在注册成功时收到答案?

0 投票
1 回答
114 浏览

php - PHP删除重复删除特定文本后的行以查找XML

我有代码来检索跺脚消息,这很有效。然后我想从 stomp 消息中获取 xml 来做一些事情,我有代码并且它可以工作。

挑战在于从消息中去除杂乱无章的内容并仅获取 xml。

这是 stomp 消息的示例(是的,数据是相同的,但在这里不相关):

我想要做的是删除消息中从“MESSAGE”开始到并包括以xml开头的每一行之前的换行符的所有行。这将为我提供使用 xml 解析器解析所需的结果:

我试过了:

但这会删除第一行第一次出现“MESSAGE”和最后一次出现 xml 之间的所有内容。换句话说,第一个“MESSAGE”和最后一个“xml”之间的所有行都被删除。

有任何想法吗?我尝试过使用各种技巧,包括:正则表达式、内爆/爆炸、写入/读取文件等。但我觉得上面的 preg_replace 代码有效,它只需要能够识别所有事件。我知道这将涉及“while”或“foreach”循环,但我期待一个好的、干净的解决方案。非常感谢任何帮助。

0 投票
1 回答
1509 浏览

activemq - Apache ActiveMQ Apollo:虚拟主机停止

我在 Windows Server 2008 R2 上运行Apollo 1.3时遇到问题。我正在从 Web 应用程序(使用 stomp-php 的 PHP)发送 STOMP 消息,然后使用作为 Windows 服务运行的应用程序对其进行处理。这在一段时间内可以正常工作,但出乎意料的是,在向 Apollo 推送消息时出现以下错误:“虚拟主机已停止”。

Apollo 仍在运行,我什至可以从 Web 界面访问虚拟主机。让它再次运行的唯一方法(到目前为止我发现)是停止服务删除代理数据文件夹中的所有内容并再次启动服务。简单地重新启动服务是行不通的。

这是来自 apollo.log 的片段:

这些是我能找到的唯一例外。

我认为这是一个配置错误而不是代码问题,但这里是相关的代码片段:

我猜这是在虚拟主机处于非活动状态(即没有收到消息,没有连接)一段时间后触发的。因此,我正在考虑不时重新启动 apollo-broker 以防止触发它,但我不确定这是否真的是触发虚拟主机停止的原因。

谁能告诉我为什么虚拟主机突然停止以及我需要进行哪些配置更改以防止这种情况发生?我已经在文档中进行了搜索,但没有找到有关虚拟主机生命周期或类似内容的任何信息。

0 投票
1 回答
329 浏览

activemq - ActiveMQ STOMP Client access

We are planning to use ActiveMQ (STOMP) for one of our project. One of the requirement is to kick out/ban a user if we find them to be inappropriate. How can this be achieved with STOMP? Something like a KICK in IRC.

0 投票
2 回答
4895 浏览

java - Java 生产者、Stompy Python 消费者、ActiveMQ

我有一个 java ActiveMQ 生产者,它将整数消息生成到 ObjectMessage 实例中。

在 python 方面,我使用 stomp python 来监听队列。但是,尽管所有标题都正确接收,但我收到了空的邮件正文。

此外,如果我在 java 端将消息类型更改为 TextMessage,我会在 python-consumer 端得到正确的消息。

我也尝试过 PyactiveMQ 但效果相同

任何建议将不胜感激!!!

编辑:这是我编写的样板 java 生产者代码和 python 订阅者代码,用于在 python 上测试 stomp

和 Python Stomp 监听器

0 投票
1 回答
1252 浏览

activemq - JMSXGroupID/correlation-id 在 stomp 客户端上排队消息似乎不起作用

我试图在节点服务器上使用 stomp-js 将消息排队到同一消费者。

制片人:

消费者:

我使用相同的 JMSXGroupID 发送两条消息,似乎客户端并行处理这两条消息,而不是处理 message1 并确认它,然后继续处理 message2,然后确认 message2。我尝试使用'correlation-id',但它似乎也不起作用。任何人都可以提出更好的方法吗?提前谢谢你,钱德拉。