The JmsTemplate
contains many convenience methods to send a message. There are send methods that specify the destination using a javax.jms.Destination
object and those that specify the destination using a string for use in a JNDI lookup. The send method that takes no destination argument uses the default destination. Here is an example that sends a message to a queue using the 1.0.2 implementation.
import javax.jms.ConnectionFactory; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Queue; import javax.jms.Session; import org.springframework.jms.core.MessageCreator; import org.springframework.jms.core.JmsTemplate; public class JmsQueueSender { private JmsTemplate jmsTemplate; private Queue queue; public void setConnectionFactory(ConnectionFactory cf) { this.jmsTemplate = new JmsTemplate(cf, false); } public void setQueue(Queue queue) { this.queue = queue; } public void simpleSend() { this.jmsTemplate.send(this.queue, new MessageCreator() { public Message createMessage(Session session) throws JMSException { return session.createTextMessage("hello queue world"); } }); } }
This example uses the MessageCreator
callback to create a text message from the supplied Session
object and the JmsTemplate
is constructed by passing a reference to a ConnectionFactory
and a boolean specifying the messaging domain. A zero argument constructor and connectionFactory / queue bean properties are provided and can be used for constructing the instance (using a BeanFactory or plain Java code). Alternatively, consider deriving from Spring's JmsGatewaySupport
convenience base class, which provides pre-built bean properties for JMS configuration.
The method send(String destinationName, MessageCreator creator)
lets you send to a message using the string name of the destination. If these names are registered in JNDI, you should set the destinationResolver property of the template to an instance of JndiDestinationResolver
.
If you created the JmsTemplate
and specified a default destination, the send(MessageCreator c)
sends a message to that destination.
From:http://docs.spring.io/spring/docs/3.0.0.RC2/reference/html/ch21s03.html
相关推荐
Spring JMS(Java Message Service)是Spring框架的一部分,专门用于集成JMS消息传递系统,以实现异步通信和解耦应用程序组件。在这个入门级实例中,我们将探讨如何使用Maven、Spring和ActiveMQ来构建一个简单的...
MessageTemplate是Spring JMS提供的主要操作消息的模板类,它提供了一系列发送和接收消息的方法,如send、receive等,简化了JMS API的使用。JmsTemplate则是MessageTemplate的扩展,提供了更多的配置选项和操作方法...
5. **JMS模板的使用**:`JmsTemplate`提供了多种发送消息的方法,如`send()`和`convertAndSend()`,这些方法可以用来发送简单或复杂的消息。同时,它还支持从队列或主题接收消息,如`receive()`和`receiveAndConvert...
<bean id="messageListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="messageListener" ref="messageListener" /> <bean id="messageListener...
在实际应用中,`SpringJMS`可能包含以下示例代码片段: ```xml <bean id="jmsConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"> <!-- 这里配置具体的JMS提供商实现 -->...
3. **消息生产者和消费者**:Spring JMS模板简化了发送和接收消息的过程,通过`jmsTemplate.send()`和`jmsTemplate.receive()`等方法,开发者可以轻松地创建消息生产者和消费者。 4. **消息监听器**:Spring提供了...
4. **灵活性**:Spring JMS 提供了多种类和接口,如 `MessageListener` 和 `DefaultMessageListenerContainer`,支持不同的消息消费模式,如同步和异步,满足不同场景需求。 5. **集成友好**:Spring 框架的整体...
Spring JMS框架是Spring项目的一部分,其主要目标是简化Java Message Service (JMS) API的使用,使得开发人员能够更容易地与消息中间件进行交互。通过Spring JMS,开发者可以更加专注于业务逻辑而非底层的消息传递...
本文将深入探讨如何在Spring框架中整合Oracle AQ,以便实现高效、可靠的JMS(Java Message Service)通信。 首先,让我们了解Oracle AQ的基本概念。Oracle AQ是Oracle数据库的一部分,它提供了一种存储和转发消息的...
ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"SpringJms/SpringJms.xml"}); SpringPublisher publisher = (SpringPublisher) context.getBean("springPublisher"); publisher...
在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而JMS(Java Message Service)则是Java平台上的消息中间件标准,用于应用程序之间的异步通信。本篇文章将详细探讨如何通过Spring框架整合JMS,特别是...
Spring整合JMS的知识点详解: 1. JMS简介 Java消息服务(Java Message Service,JMS)是一种Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。JMS是一种...
在Java世界中,ActiveMQ和Spring的整合是企业级应用中常见的消息中间件解决方案,用于实现JMS(Java Message Service)消息传递。本教程将深入探讨如何将这两个强大的工具结合在一起,以创建一个简单的发送JMS消息的...
Spring 框架提供了对 Java 消息服务(Java Message Service, JMS)的支持,使得开发者能够轻松地在应用程序中实现异步消息传递。 JMS 是一个标准接口,用于在分布式环境中交换消息。通过 Spring JMS,我们可以利用...
JMS(Java Message Service)则是一种标准,用于在分布式环境中进行异步消息传递,而ActiveMQ则是Apache项目下的一个开源JMS消息中间件,它实现了JMS规范,为应用提供可靠的、高性能的消息传递服务。 本文将深入...
Spring JMS(Java Message Service)是Spring框架中的一个模块,主要用于支持JMS的开发,它提供了一种声明式的方式来处理消息发送和接收,使得开发者可以更加专注于业务逻辑,而非底层的JMS API。而Spring JMS Test...
标题 "Spring JMSTemplate 与 JMS 原生API比较" 涉及到的是Java消息服务(Java Message Service,JMS)在Spring框架中的使用,特别是Spring提供的JMSTemplate与JMS原生API之间的差异。JMS是一种标准接口,用于在...
本篇主要探讨如何利用Spring框架来发送和接收Java消息服务(Java Message Service,简称JMS)消息。JMS是一种标准API,用于在分布式环境中进行异步消息传递,它可以提高系统的可伸缩性和可靠性。 首先,我们需要...
Spring提供了`org.springframework.jms`包,该包下包含了许多用于JMS的抽象类和接口,如`ConnectionFactory`, `MessageListenerContainer`, `JmsTemplate`等,它们极大地简化了JMS的使用。例如,`JmsTemplate`提供...
Spring 提供了对 Java Message Service (JMS) 的支持,这使得开发者可以更轻松地集成消息服务。Spring 的 JMS 支持主要包括以下几个方面: - **JmsTemplate**:Spring 提供了一个名为 `JmsTemplate` 的类,该类封装...