作为LLM产品的前开发人员,我可以说,它确实或至少做过。请参阅下面的摘录我从公开可用的信息中心为版本2.6采取的
这就是说,从我记得MQ的整点是保证交付。这是一个时间和地点,但它在延迟和带宽方面需要付出代价。
LLM从根本上有不同的目的;它有可靠的交付:即如果它未能交付你只会知道它没有交付。这些消息的可恢复性仅受限于您愿意从磁盘保留多少缓存或回收的时间,以及您在多少时间内愿意忍耐等待恢复的时间。在您的情况下,您可能不希望恢复。 LLM是否适合你,我无法推测。我可以说的是,作为一名过去的开发人员以及后来的客户,我发现两者之间几乎没有任何相似之处,而且这种应用程序的LLM性能完全将MQ彻底排除在外。我也从来没有使用过java/jms方面,并且专注于C/C++,所以请着重于一点盐。我只知道它做到了,并且在谷歌的哪个地方看。
http://www-01.ibm.com/support/knowledgecenter/SSQPD3_2.6.0/com.ibm.wllm.doc/api/javadoc/messaging/com/ibm/llm/jms/package-summary.html
包com.ibm.llm。jms描述
为LLM JMS客户端实现特定于提供者的公共类。
大多数JMS使用的接口的由通用JMS 接口定义。但是,JMS规范不包括配置JMS客户端所需的 类和接口。
有关JMS类 和方法的信息,请参阅JMS API文档。
介绍
的LLM JMS客户端提供Java消息服务(JMS)接口 LLM。使用JMS接口与LLM允许与其他消息传递提供商的通用接口,并通过 加速应用程序开发,允许开发人员使用他们熟悉的接口。使用 JMS接口最适用于使用通用 消息功能的应用程序,其中可以集中管理设置。 这包括许多传统的客户端应用程序。法学硕士JMS客户 其中应用程序依赖于LLM 特定功能或需要与LLM显著应用 相互作用并不正常工作。尽管通过使用JMS接口添加了一些延迟,但它仍然提供非常低的延迟和高吞吐量的消息传递。
LLM JMS客户端支持大多数LLM客户端功能,但不支持在一个层内运行的服务器功能,或者不支持 平衡发送器。
LLM基于做直接生产者到消费者的消息。 JMS是 通常使用消息服务器和JMS函数 要求消息服务器实现使用LLM JMS 客户端时不可用。这包括所有的点对点消息传递(队列)以及恢复功能 。 LLM JMS客户端设计为在JSE 环境中运行,不支持应用程序服务器扩展或XA 事务。
的LLM JMS客户端如何实现JMS
法学硕士JMS客户端实现每个 未暴露于外部的一个实现类的基本JMS对象。这些对象的 子类是使用相同的 实现类实现的。这意味着只有两个被管理的对象,ConnectionFactory和Destination。一个LLM定义 的ConnectionFactory可以转换为TopicConnectionFactory的和 的QueueConnectionFactory和LLM定义目的地可以转换为 主题和队列。 Connection,Session, MessageProducer和MessageConsumer也是如此。来自一个 供应商的目标对象必须与同一供应商的连接一起使用。但是, 可能会将由一个JMS提供程序生成的消息发送到另一个JMS提供程序。发送由另一个JMS提供者 创建的消息是不是发送由LLM JMS客户端创建的消息一样高效,但提供了这个功能,很容易让一个 应用弥合从一个供应商到另一个。
LLM JMS客户端不实现点对点消息传递 模型(队列),但是可以创建所有JMS对象。
的LLM JMS客户端需要的JVM至少爪哇5.
的LLM JMS客户端定义所有六个消息类型的对象(消息, BytesMessage,MapMessage消息,ObjectMessage,StreamMessage和 的TextMessage)。从JMS向JMS发送消息时,JMS标头 指示消息的类型。如果缺少JMS标头(从非JMS生产者发送消息时常见的是 ),则LLM JMS 客户端会尝试从内容中推断消息的类型。 正常情况下,消息将显示为BytesMessage,但如果消息 以UTF-8 BOM开头或显示为XML,则它将被解释为 TextMessage。 TextMessages被认为是UTF-8编码......
谢谢 - 我们没有通常过量的数量或严格的延迟要求,我们以前的解决方案Fiorano工作得很好。不幸的是,公司标准决定IBM MQ :( – 2009-10-10 23:35:07