0.1队列
(1)创建生产者模块
(2)加入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
<version>2.4.1</version>
</dependency>
(3)生产者配置文件
server:
port: 8081
spring:
activemq:
broker-url: tcp://192.168.12.128:61616
user: admin
password: admin
jms:
pub-sub-domain: false #false表示队列(默认);true表示主题
(4)创建目的地队列
import javax.jms.Queue;
@Component
@EnableJms //开启jms注解
public class ConfigBean {
@Bean
public Queue queue(){
//队列
return new ActiveMQQueue("queue01");
}
}
(5)生产者代码
@Component
public class Scz {
@Autowired
private JmsMessagingTemplate jmsMessagingTemplate;
@Autowired
private Queue queue; //注入创建的队列
@Scheduled(fixedDelay = 3000) //间隔3秒钟发送一次消息
public void jgfxx(){
jmsMessagingTemplate.convertAndSend(queue,"间隔发的消息");
System.out.println("2成功");
}
}
(6)启动类
@SpringBootApplication
@EnableScheduling //开启定时投递注解
public class BootActivemqApplication {
public static void main(String[] args) {
SpringApplication.run(BootActivemqApplication.class, args);
}
}
(7)创建maven工程消费者
(8)添加依赖,与生产者的一样,配置文件也与生产者一样,端口不能重复
(9)消费者代码(写完后直接启动启动类就好了)
@Component
public class Xfz {
@JmsListener(destination = "queue01") //队列名称
public void xfz(TextMessage message) throws JMSException {
System.out.println(message.getText());
}
}
0.2.主题
(1)生产者配置文件的false改为true
(2)主题的创建:new的是ActiveMQTopic();