草庐IT

java - JMS 消息传递性能 : Lots of Topics/Queues vs. 广泛过滤(消息选择器)

我正在开发一个将大量使用JBossMessaging(JMS)的项目。我的任务是为其他开发人员围绕消息构建一个易于使用的包装器,并且正在考虑使用JMS的消息选择器来提供一种过滤技术,以将不必要的消息发送降至最低。我很好奇是否有人在性能方面有这样做的经验?我担心JMS提供者可能会陷入消息选择器的困境,从而有效地破坏了整个目的。但是,这比为每种消息类型创建一长串主题/队列要好得多。毫无疑问,我最终会最终使用这两者的某种组合,但我担心无论我更倾向于哪种方式对性能的影响。 最佳答案 正如Martin提到的,默认情况下,大多数JMS实现将在客

java - JMS 与 Web 服务

JMS相对于Web服务的最大优势是什么?反之亦然?(Web服务是否臃肿?JMS总体上是否更适合提供接口(interface)?) 最佳答案 在埃里克森更正后编辑:JMS要求您有一个JMS提供者、一个实现MessageListener接口(interface)以处理消息的Java类,以及一个知道如何连接到JMS队列的客户端。JMS意味着异步处理——客户端发送消息并且不一定等待响应。JMS可用于点对点队列方式或发布/订阅。“服务”是一个流动的术语。我将服务视为存在于网络上并宣传契约(Contract)的组件:“如果您向我发送X,我将为您

java - Java RMI 和 JMS 有什么区别?

在用Java设计分布式应用程序时,似乎有一些技术可以解决相同类型的问题。我已经简要了解了JavaRemoteMethodInvocation和JavaMessageService,但很难真正看出区别。JavaRMI似乎比JMS耦合更紧密,因为JMS使用异步通信,但除此之外我看不出有什么大的不同。它们之间有什么区别?其中一个比另一个新吗?哪一种在企业中更常见/流行?他们之间有什么优势?什么时候比另一个更受青睐?它们在实现难度上是否有很大不同?我也认为WebServices和CORBA解决了同样的问题。 最佳答案 您已经了解方法调用。如

java - javax.jms.* 类的正确 Maven 依赖项是什么?

我需要导入javax.jms.*类。什么是包含到Maven项目中的正确依赖项?我正在尝试javax.jms:jms:1.1,但没有运气(它是pom,而不是jar)。ps。到目前为止,我发现的唯一解决方法是:javax:javaee-api:6.0(来自MavenCentral)。 最佳答案 在ActiveMQ以及QpidJMS等其他一些项目中,我们从ApacheGeronimoJAR中提取JMS规范类,1.1API在此依赖项中可用:org.apache.geronimo.specsgeronimo-jms_1.1_spec1.1.1

java - JMS 有什么用?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion我正在寻找JMS是一个很好的解决方案的问题的(简单)示例,以及JMS在这些情况下是一个很好的解决方案的原因。过去,当B不一定能立即处理消息时,我只是将数据库用作将消息从A传递到B的一种方式。此类系统的一个假设示例是,所有新注册的用户都应在注册后24小时内收到一封欢迎电子邮件。为了论证起见,假设数据库不记录每个用户注册的时间,而是将每个新用户的引用(外键)存储在pending_email表中。电子邮件发件

java - 等效于 jms :listener-container 的 Spring 注释

我正在研究使用Spring的JMS,并希望在我的MVCwebapp启动时创建特定队列的一些并发消费者。我在SO(https://stackoverflow.com/a/6861144)的其他地方看到了以下XML配置:我在Java中使用Spring配置,而不是XML。有人可以帮忙看看Spring注解的语法吗?我现有的JmsConfiguration.java看起来像:@Configuration@ComponentScan(basePackages="net.domain.orders")publicclassJmsConfiguration{@BeanpublicJmsTemplate

spring - 使用 Spring JMS 和 ActiveMQ 的正确 Maven 依赖项是什么?

这是一个很常见的问题,我在网上找到了很多不适合我的解决方案。我声明:org.springframeworkspring-jms3.0.7.RELEASEorg.apache.activemqactivemq-all5.5.0还有jetty插件org.mortbay.jettyjetty-maven-plugin但在发出“mvnjetty:run”时,我不断收到以下异常:org.springframework.beans.FatalBeanException:NamespaceHandlerclass[org.apache.xbean.spring.context.v2.XBeanNam

java - 高性能 JMS 消息传递

我阅读了今年UberConf的幻灯片,其中一位演讲者认为SpringJMS会为您的消息队列系统增加性能开销,但是我在幻灯片中没有看到任何证据支持这一点。演讲者还提出,点对点比传统的“发布-订阅”方法更快,因为每条消息只发送一次,而不是广播给每个消费者。我想知道是否有经验丰富的Java消息传递专家可以在这里发表意见并澄清一些技术细节:使用SpringJMS而不是纯JMS是否真的会产生性能开销?如果是这样,它是如何以及在哪里引入的?有什么办法解决吗?有哪些实际证据支持P2P比pub-sub模型更快,如果是这样,是否存在您希望通过P2P进行pub-sub的情况(即为什么要慢?!?)?

JMS 的 Spring 配置(Websphere MQ - SSL、Tomcat、JNDI、非 IBM JRE)

背景:我有一个相对较旧的应用程序,它使用WebsphereMQ进行消息传递。它在WAS(Websphere应用服务器)上运行并使用MDB(消息驱动Bean)。我成功地使用SpringIntegration-JMS替换了所有MDB。.我的下一步是尝试看看我是否可以将它移植到WAS之外,以便它可以在任何其他带有非IBMJRE的servlet容器上运行(我正在尝试:apachetomcat)。请注意,使用SSL保护channel是一项要求。我更喜欢使用JNDI。最终目标:将我的应用程序与应用程序服务器(WAS)和其他基础设施(如消息传递(MQ))分离。但是将它从WAS中取出到tomcat是第

java - 如何使用 Spring JMS 发布 JMS 主题?

我有一个将消息发送到队列以由另一个系统处理的组件。它还应该每隔一段时间发布一个关于工作状态的主题。我可以只使用用于发送到队列和发布到主题的相同JmsTemplate吗?我在ActiveMQ中创建了一个新主题,除了当我从JmsTemplate发送消息时,使用发送的消息创建一个具有主题名称的新队列(而不是将数据发送到实际主题),我在做什么错了吗?这是我的配置:MessageFacadeJms是我用来发送队列消息的类(它有效),我也可以用它来发布主题吗?我可以用它来做队列发送和主题发布吗?:jmsTemplate.convertAndSend("TOPIC_NAME"/*orqueuenam