7

JMS 在 spring 中使用,如何配置以及使用什么类型的依赖

4

2 回答 2

6

Spring JMS 有一些注意事项。

  1. 您绝对不能直接在 JMS 连接工厂上使用 Spring JMS。这是因为 Spring - 特别是 JmsTemplate - 打开一个连接,将它用于一条消息,然后关闭它。当连接工厂实际上是一个连接池时,这是使用的正确模式。但如果它真的只是一个连接工厂,你将在负载下屠宰服务器。这通常只在您运行独立应用程序而不是在 J2EE 容器内时才会出现问题,该容器通常具有资源适配器或其他为您进行池化的东西。Spring 确实提供了一个可以重用连接的 SingleConnectionFactory bean,但是当您使用集群服务器并希望对连接和工作进行负载平衡时,这不是最佳解决方案。
  2. Spring API 都是围绕一次处理单个消息而设计的。在某些情况下,您可能能够处理一批消息,最好使用 Spring 为您提供连接工厂等,但滚动您自己的代码来实际执行消息 I/O。这样,例如,您可以设置一个事务会话,处理 100 条消息,然后将确认作为一个批次提交。假设您可以安全地这样做,那应该会减少服务器上的工作量。
于 2009-04-28T00:14:28.497 回答
5

您可以查看Spring in Action。它有一章关于使用 Spring 中的 JMS 进行消息传递,我发现这很有帮助。

于 2009-06-26T07:34:27.377 回答