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项目控制台中文乱码