spring,springboot整合ActiveMQ
spring与activemq的整合:
jar包
<dependency>
<!--activemq的jar-->
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.15.9</version>
</dependency>
<!--整合spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-pool</artifactId>
<version>5.15.15</version>
</dependency>
<dependency>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-spring</artifactId>
<version>3.16</version>
</dependency>
配置文件
测试类
//生产者
@Service
public class Springmessage {
@Autowired
private JmsTemplate jmsTemplate;
public static void main(String[] args) {
ApplicationContext context=new ClassPathXmlApplicationContext("appliction.xml");
Springmessage springmessage = (Springmessage) context.getBean(Springmessage.class);
springmessage.jmsTemplate.send(new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
TextMessage textMessage = session.createTextMessage("spring--active333");
return textMessage;
}
});
System.out.println("test over");
}
}
//消费者
@Service
public class Springconstmer {
@Autowired
private JmsTemplate jmsTemplate;
public static void main(String[] args) {
ApplicationContext context=new ClassPathXmlApplicationContext("appliction.xml");
Springconstmer springconstmer=context.getBean(Springconstmer.class);
String message = (String) springconstmer.jmsTemplate.receiveAndConvert();
System.out.println(message);
}
}
//监听器
@Component
public class mymessageListener implements MessageListener {
@Override
public void onMessage(Message message) {
if(null!=message && message instanceof TextMessage){
TextMessage textMessage=(TextMessage) message;
try {
System.out.println(textMessage.getText());
}catch (Exception e){
e.printStackTrace();
}
}
}
}
springboot与activemq的整合:
jar
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
<version>2.6.7</version>
</dependency>
配置文件:
#Activemq配置 #username and password 采用默认 spring.activemq.password=admin spring.activemq.user=admin #是否使用内嵌的MQ spring.activemq.in-memory=false #是否信任MQ的所有jar spring.activemq.packages.trust-all=true #MQ服务的ip:端口号 spring.activemq.broker-url=tcp://192.168.150.128:61616 #是否开启主题订阅 spring.jms.pub-sub-domain=true
测试类
需要注意的是:Queue和Topic的jar是javax.jms中的,而不是java,util下的
上一篇:
IDEA上Java项目控制台中文乱码
