问题标签 [mom]
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.
rabbitmq - 消息代理与 MOM(面向消息的中间件)
对于消息代理(例如 RabbitMQ)和面向消息的中间件之间的区别,我有点困惑。除了维基百科上的内容外,我找不到太多信息。在搜索 MOM 时,我找到有关 AMQP 的信息,这些信息表明是 MOM 的协议。这是什么意思?那么妈妈是什么?我还读到 RabbitMQ 实现了 AMPQ 协议。那么为什么这会使 RabbitMQ 成为消息代理?消息代理和 MOM 是一回事吗?
希望有人能解开我的困惑。谢谢
java - JMS 中的点对点与发布/订阅模型
我是 JMS 的新手。我从“hello world”开始,我在主题上发布来自 java 应用程序的消息并从客户端(node.js Javascript)监听它。我已经浏览了这个维基百科条目,但根据我之前的理论理解,我有一些问题。
根据我的理解,点对点是队列实现,最多可以有一个消费者订阅队列,并且只能被那个消费者消费。生产者和消费者都不知道彼此。在我的例子中,队列托管在消息代理上 Apache ActiveMQ。队列可以由生产者在发布消息之前创建(也可以提前从控制台创建)。
在发布/订阅模型的情况下,它几乎与点对点相同,只是我们使用主题而不是队列。在此模型中,该主题可能会有更多的消费者。消息发布后,将通知所有订阅者。现在,如果有任何订阅者,发送已发布消息的确认,消息将被视为已消费并且不再可供新订阅者使用?
jms - RabbitMQ 中的消息接收是如何工作的
我在云上有一个 RabbitMQ 实现的队列,我编写了一个 Node.JS 接收器和发送器,它基本上将从队列发送和接收消息。我基本上点击了队列的 uri 并创建了一个连接。
我的问题是:由于我的接收器位于防火墙后面而不是任何公共 IP,队列如何将消息发送到我的队列?它使用什么技术将消息发布到我的队列?我的接收器是否在不断地轮询队列?
events - 我可以在 BizTalk 中引发自定义 SCOM 警报吗
在对它们进行进一步处理之前,我需要检查一组中的所有三个必需文件是否都已通过 FTP 传输。如果前一天的所有三个文件在 08:00 之前都没有到达,我需要提出并提醒支持人员联系供应商。(事件一)
如果所有三个文件都在那里,我然后检查总数是否等于交易,如果不是,我丢弃所有三个文件并向支持人员发出警报以联系供应商(事件 2)
我已经加载了 BizTalk (2010) - SCOM 管理包,我需要知道我是否可以创建一个自定义规则,该规则将引发和事件以供 SCOM 检测,据此我需要 SCOM 向收件人发送特定于场景的电子邮件(例如事件 1 - 所有三个必需文件都不可用!// 或 // 事件 2 - 事务总和无法与总计文件核对)
我们已经研究过为消息事件日志创建一个 SQL 表并为每个连接点定义自定义进程,但它很笨拙,我被告知可以实现上述方式,让 SCOM 根据引发的事件处理警报发送BizTalk 中的流程,即使它们是比服务事件更多的业务事件。
请告知 - 我们已经在这个圈子里转了两三个星期了。
java - 无法在独立客户端上实例化初始上下文
我有一个不想部署在 Glassfish 服务器上的独立客户端。对于客户,我想通过点对点通信模式发布消息。我发现了这个很棒的教程,它使用了我无法使用的注释,因为我有一个独立的客户端。我在stackoverflow上找到了以下解决方案:
我还发现我必须从 glassfish 目录中导入一些库。所以我做了:
我收到以下错误:
我究竟做错了什么?
编辑
我找到了一个临时解决方案,但我觉得它不是正确的(我想当我想迁移项目时可能会遇到问题。我删除了从 Glassfish lib 文件夹中检索到的库,并使用“Absolute小路”。
web-services - Web 服务中的两种通信方式
我怎样才能有两种方式与 WS 通信。两种方式意味着客户端可以是服务器,服务器可以是客户端。据我了解与 WS 使用的 HTTP 中的客户端-服务器模型相关的问题。当服务器想要将事件发送到多个客户端而不被轮询时,这种情况的最佳实践是什么。? 据我所知,有一些解决方案,但我不知道哪个是最好的 1)服务器推送技术(websockets)2)SOAP over JMS(这听起来很棒)3)WS-eventing
谢谢
soap - Java:到 Soap 的快速通用网关数据
我确实想构建一个从嵌套映射(从二进制数据流生成)到 SOAP 客户端的通用网关。
背景:需要调用 SOAP-Services 的非 java-application 无法生成 json 或 SOAP/XML,但可以轻松生成自定义协议(在我们的控制之下)。
所以需要代理。不应在每次更改 WSDL 或推出下一个 Web 服务时重写该代理。
我的计划是:
将 url、port 和 service-name (url:port/service-name) 作为该代理的“严格”定义参数,
将 SOAP 操作作为“严格”定义的参数
请求(可能缓存) url:port/service-name?wsdl 的 wsdl 并动态启动存根调用(缓存),
将嵌套映射中存在的值填充到该存根
调用 SOAP 服务
将答案转换回该二进制协议。
如果缺少一些必要的值,它应该发送等效的 SOAP-Error。
当然,所有这些都具有小(负担得起的)延迟、高稳定性、绝对最小的部署停机时间(用于更新)和相当大的负载。
我看到了几种可能性:
a) 使用像 WSO2ESB 这样的 ESB。在那里,我将流格式实现为特殊的输入格式适配器,将其转换为内部 XMLStream(至少 json-adapter 似乎是这样工作的)并将其发送给中介。该调解员会尝试类似 http://today.java.net/pub/a/today/2006/12/13/invoking-web-services-using-apache-axis2.html “创建动态客户端”并调用直接使用 SOAP 服务。
b) 使用像 ApacheMQ 这样的 MOM 中间件和 Camel,
c) 将其简化为 Apache Karaf 和 CXF
我有点迷失在所有这些可能性之间,而这些只是或多或少是各种任意样本。
对a)的想法:
减号:没有 ESB-Target 感觉有点奇怪,因为中介会直接调用给定的 SOAP-Requests
减:我想知道内部转换成 XML-Stream 是否不会花费额外的时间和资源
减号:据我所知,更改代码需要重新启动 WSO2ESB
另外:我可以定义使用 ESB 解析的符号名称,而不是 url、端口、服务名称——如果不需要额外的毫秒。
对于 b) 我还没有检查这些格式转换在 Camel 中的难易程度以及 SOAP-Service-Requests 是否适合消息发送和队列。
我已经对该主题进行了一些搜索,但是由于完全不同的产品的重叠范围,这确实令人困惑。我认为这是一个标准问题,但显然没有明显的解决方案 - 至少我没有找到它们。
我确实希望了解这些解决方案中的哪些可能会导致麻烦或大量工作(以及哪些容易成功),并且我希望我的方法中有一些原因。
感谢任何合格的评论!
马可
rest - REST 中的 MOM 特征
最近我读到了一篇关于 REST 和 MOM 比较的有趣文章。我知道 REST 是一种架构风格,而 MOM(例如 JMS 服务器)基本功能包括消息持久性和 PUB-SUB 等模式。
可以使用 REST 代替 MOM 吗?我知道它会因情况而异,但如果是这样,它如何保证没有消息,数据不会丢失?
apache-camel - 骆驼:两条路线之间的通信
我基本上是骆驼的新手。我使用两个使用 seda 端点的路由设置了骆驼上下文。简而言之,一切都以侦听目录的“来自”文件端点(如果术语错误,请见谅)开始:
现在,上述内容完美运行,但我需要使用 activemq 队列更改 seda,然后第二个处理器接收到的消息正文为空。
如何使用 activemq 通道获得与 seda 端点相同的行为?
tomcat - Tomcat和(MOM或CORBA)之间有什么关系
我知道 tomcat 是服务器,而 mom 用于客户端和服务器之间的传输。那么它们是如何相关的呢?tomcat 是否提供内置的运输服务,或者我们必须指定我们必须使用 mom 或 corba 进行运输。