标签: jms

JMS使用哪种协议来发送和接收消息?

我想知道JMS API是否使用任何协议来传输消息,或者是否使用它自己的协议.如果是前者,哪个协议?

我通过网络阅读了很多文章,但我找不到答案.

java messaging jms

27
推荐指数
2
解决办法
2万
查看次数

JMS - 从一个消费者到多个消费者

我有一个JMS客户端,它生成消息并通过JMS队列发送给其唯一的消费者.

我想要的是不止一个消费者获得这些消息.我想到的第一件事就是将队列转换为主题,因此当前和新的消费者可以订阅并获得传递给所有消息的相同消息.

这显然涉及在生产者和消费者方面修改当前客户端代码.

我还想看看其他选项,比如创建第二个队列,这样我就不必修改现有的消费者了.我相信这种方法有一些优点(如果我错了,请纠正我)平衡两个不同队列之间的负载而不是一个,这可能会对性能产生积极影响.

我想就你可能会看到的这些选项和缺点/专业人士提出建议.任何反馈都非常感谢.

java messaging jms message-queue

24
推荐指数
2
解决办法
3万
查看次数

使用JMS临时队列进行同步使用是一种好习惯吗?

如果我们使用"临时队列"使用JMS请求/回复机制,那么该代码是否可扩展?

截至目前,我们不知道我们是否每秒支持100个请求,或者每秒支持1000个请求.

下面的代码是我正在考虑实现的.它以"同步"方式使用JMS.关键部分是创建"消费者"以指向为此会话创建的"临时队列"的位置.我无法弄清楚使用这种临时队列是否是一种可扩展的设计.

  destination = session.createQueue("queue:///Q1");
  producer = session.createProducer(destination);
  tempDestination = session.createTemporaryQueue();
  consumer = session.createConsumer(tempDestination);

  long uniqueNumber = System.currentTimeMillis() % 1000;
  TextMessage message = session
      .createTextMessage("SimpleRequestor: Your lucky number today is " + uniqueNumber);

  // Set the JMSReplyTo
  message.setJMSReplyTo(tempDestination);

  // Start the connection
  connection.start();

  // And, send the request
  producer.send(message);
  System.out.println("Sent message:\n" + message);

  // Now, receive the reply
  Message receivedMessage = consumer.receive(15000); // in ms or 15 seconds
  System.out.println("\nReceived message:\n" + receivedMessage);
Run Code Online (Sandbox Code Playgroud)

更新:

我遇到了另一种模式,看到这个博客 的想法是使用'常规'队列进行发送和接收.但是对于"同步"调用,为了获得所需的响应(即匹配请求),您将创建一个使用"选择器"监听接收队列的消费者.

脚步:

    // 1. …
Run Code Online (Sandbox Code Playgroud)

java architecture jms java-ee ibm-mq

24
推荐指数
1
解决办法
2万
查看次数

JMS消息传递性能:大量主题/队列与广泛过滤(消息选择器)

我正在开发一个将大量使用JBoss Messaging(JMS)的项目.我的任务是为其他开发人员构建一个易于使用的Messaging包装器,并且正在考虑使用JMS的Message Selectors来提供过滤技术,以便将不必要的消息发送保持在最低限度.我很好奇是否有人在表演方面有任何经验?我担心JMS提供商可能会陷入消息选择器的困境,从而有效地破坏了整个目的.然而,它比为每种消息类型创建一长串主题/队列要好得多.

最终,我无疑会最终使用两者的组合,但我关注的是对性能的影响,无论我更倾向于哪种方式.

java performance messaging jboss jms

23
推荐指数
2
解决办法
1万
查看次数

JMS vs Webservices

JMS优于Webservices有什么大优势,反之亦然?

(Web服务是否膨胀?JMS总体上更好地提供接口吗?)

java web-services jms

23
推荐指数
2
解决办法
3万
查看次数

JMS会话的目的是什么?

JMS会话的目的是什么?为什么单独的连接不足以在发送者和接收者之间交换JMS消息?

java jms

23
推荐指数
2
解决办法
8286
查看次数

HornetQ与ActiveMQ对Qpid的优势

我正在浏览一个开源消息传递软件,经过一些研究,我发现了这三个产品.我已经把这些用于初步测试,让他们处理队列和主题的消息,从我所读到的,所有这三个产品都是大多数公司的开源消息解决方案的好选择.我想知道这些产品可能具有哪些优势?我特别感兴趣的是消息吞吐量,包括持久消息吞吐量,安全性,可伸缩性,可靠性,支持,路由功能,度量和监视等管理选项,以及每个程序在大型业务环境中运行的程度.

activemq-classic middleware jms hornetq qpid

23
推荐指数
0
解决办法
1万
查看次数

JMS消息侦听器的执行失败,并且未设置ErrorHandler

当我使用Spring收听JMS消息时,我收到了上述错误.

我想知道如何将Errorhandler添加到JMS侦听器中?

java spring jms spring-jms

23
推荐指数
3
解决办法
4万
查看次数

JMS AUTO_ACKNOWLEDGE什么时候被确认?

我试图谷歌这个,但没有成功.如果我正在使用AUTO_ACKNOWLEDGE,并且我有一个用Java编写的消费者客户端,那么消息何时被确认?我使用的MessageListener是包含onMessage方法的.确认是onMessageonMessage完成之前或之后还是在某个其他时间点发送回服务器的?提前感谢任何人都能提供的帮助!

java messaging jms

23
推荐指数
2
解决办法
3万
查看次数

与JMS/ActiveMQ并发同步请求 - 模式 - 模式/库?

我有一个web-app,当用户提交请求时,我们将JMS消息发送到远程服务,然后等待回复.(还有异步请求,我们为消息重放设置了各种各样的细节,所以我们更喜欢坚持使用JMS而不是HTTP)

如何使用JMS实现请求响应?,ActiveMQ似乎不鼓励每个请求的临时队列或JMSCorrelationID上带有选择器的临时使用者的想法,因为旋转它们所涉及的开销.

但是,如果我使用池化消费者进行回复,我如何从回复消费者发送回原始请求线程?

我当然可以编写自己的线程安全回调 - 注册/调度,但我讨厌编写我怀疑已经由比我知道的更好的人编写的代码.

那个ActiveMQ页面推荐自2006年以来一直没有更新过的LingoCamel Spring Remoting,我的团队已经因为它的许多漏洞而被hellbanned.

是否有更好的解决方案,以实现此模式的库的形式,或以不同模式的形式模拟JMS上的同步请求 - 回复?


相关问题:

java multithreading activemq-classic jms

23
推荐指数
1
解决办法
2万
查看次数