请简单示例jms的用法
时间: 2023-10-31 08:04:15 浏览: 46
好的,以下是一个简单的 JMS 示例:
1. 首先,我们需要定义一个 JMS 连接工厂,用于创建 JMS 连接:
```java
@Configuration
public class JmsConfig {
@Bean
public ConnectionFactory connectionFactory() {
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory();
factory.setBrokerURL("tcp://localhost:61616");
return factory;
}
}
```
2. 接着,我们需要定义一个消息队列,用于存储消息:
```java
@Configuration
public class JmsConfig {
@Bean
public ConnectionFactory connectionFactory() {
// ...
}
@Bean
public Queue queue() {
return new ActiveMQQueue("test.queue");
}
}
```
3. 然后,我们可以使用 JmsMessagingTemplate 发送消息:
```java
@RestController
public class MessageController {
private final JmsMessagingTemplate jmsMessagingTemplate;
private final Queue queue;
public MessageController(JmsMessagingTemplate jmsMessagingTemplate, Queue queue) {
this.jmsMessagingTemplate = jmsMessagingTemplate;
this.queue = queue;
}
@PostMapping("/send")
public String sendMessage(@RequestParam String message) {
jmsMessagingTemplate.convertAndSend(queue, message);
return "Message sent successfully!";
}
}
```
在上面的示例中,我们使用 JmsMessagingTemplate 发送消息到名为 "test.queue" 的消息队列中。通过 JmsMessagingTemplate 发送消息时,可以指定目的地和消息内容,这里我们直接将消息内容作为参数传入了 convertAndSend 方法中。而且,JmsMessagingTemplate 还提供了许多其他的方法,如异步发送消息、发送消息时指定消息头等等,可以根据具体需求选择使用。