1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-activemq</artifactId> 4 </dependency> 5 6 <dependency> 7 <groupId>org.messaginghub</groupId> 8 <artifactId>pooled-jms</artifactId> 9 </dependency>
1 server: 2 port: 8081 3 spring: 4 activemq: 5 broker-url: tcp://localhost:61616//activeMq的地址 6 user: admin 7 password: admin 8 pool: 9 enabled: true 10 max-connections: 50 11 packages://配置信赖的对象 12 trusted: com.xiao.springbootmytest.pojo,java.lang 13 jms: 14 pub-sub-domain: true//是否启用发布订阅模式 15 template: 16 default-destination: 127.0.0.1:9999//默认目的地址
实体对象User
1 @Data 2 @AllArgsConstructor 3 @NoArgsConstructor 4 public class User implements Serializable { 5 private static final long seriaVersionUID = 88182747343434L; 6 private Long id; 7 private String userName = null; 8 private String note = null; 9 10 }
传递对象的服务接口
1 public interface ActiveMqUserService { 2 public void sendMsg(User user); 3 public void receiveMsg(User user); 4 }
对应接口的实现类
1 @Service 2 public class ActiveMqUserServiceImpl implements ActiveMqUserService { 3 @Autowired 4 private JmsTemplate jmsTemplate; 5 private static final String myDestination = "127.0.0.1:9998"; 6 @Override 7 public void sendMsg(User user) { 8 System.out.println("发送消息"+"【"+user+"】"); 9 jmsTemplate.convertAndSend(myDestination,user); 10 } 11 12 @Override 13 @JmsListener(destination = myDestination) 14 public void receiveMsg(User user) { 15 System.out.println("收到了消息"+"【"+user+"】"); 16 17 } 18 }
控制器
1 @Controller 2 @RequestMapping("/activemq") 3 public class ActiveMqController { 4 @Autowired 5 private ActiveMqService activeMqService = null; 6 @Autowired 7 private ActiveMqUserService activeMqUserService = null; 8 9 10 @ResponseBody 11 @RequestMapping("/msg") 12 public Map<String,Object> msg(String message){ 13 activeMqService.sendMsg(message); 14 return result(true,message); 15 } 16 @ResponseBody 17 @GetMapping("/user") 18 public Map<String,Object> sendUser(Long id,String userName,String note){ 19 User user = new User(id,userName,note); 20 activeMqUserService.sendMsg(user); 21 return result(true,user); 22 } 23 private Map<String,Object> result(Boolean success, Object message){ 24 Map<String,Object> result = new HashMap<>(); 25 result.put("success",success); 26 result.put("message",message); 27 return result; 28 29 } 30 }
在浏览器上访问接口得到结果:
idea:console
浏览器返回内容
原文:https://www.cnblogs.com/David-5730/p/14355547.html