重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、多种启动Broker的方法
员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。成都创新互联公司坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供网站设计制作、成都网站设计、微信公众号开发、电商网站开发,微信小程序,软件按需定制设计等一站式互联网企业服务。
二、单独应用的开发
//1:Broker Service启动broker,示例如下
BrokerService broker = new BrokerService();
broker.setUseJmx(true);
broker.addConnector("tcp://localhost:61616");
broker.start();
//2:BrokerFactory 启动broker,示例如下:
String uri = "properties:broker.properties";
BrokerService broker1 = BrokerFactory.createBroker(new URI(uri));
broker1.addConnector("tcp://localhost:61616");
broker1.start();
//3:broker.properties的内容如下:
useJms=true
persistent=false
brokerName=Cheese
三、结合spring boot的开发
参考:https://blog.csdn.net/liuchuanhong1/article/details/54603546
配置pom.xml
org.springframework.boot
spring-boot-starter-activemq
org.apache.activemq
activemq-pool
spring.activemq.broker-url=tcp://localhost:61616
spring.activemq.in-memory=true
#如果此处设置为true,需要加如下的依赖包,否则会自动配置失败,报JmsMessagingTemplate注入失败
spring.activemq.pool.enabled=false
生产者
@Service
public class Producer {
@Autowired // 也可以注入JmsTemplate,JmsMessagingTemplate对JmsTemplate进行了封装
private JmsMessagingTemplate jmsTemplate;
// 发送消息,destination是发送到的队列,message是待发送的消息
public void sendMessage(Destination destination, final String message){
jmsTemplate.convertAndSend(destination, message);
}
}
@Component
public class Consumer {
使用JmsListener配置消费者监听的队列,其中text是接收到的消息
@JmsListener(destination = "springboot-activemq")
public void receiveQueue(String text) {
System.out.println("Consumer收到的报文为:"+text);
}
}
测试类
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootJmsApplicationTests {
@Autowired
private Producer producer;
@Test
public void contextLoads() {
Destination destination = new ActiveMQQueue("springboot-activemq");
for (int i = 0; i < 10; i++) {
producer.sendMessage(destination,"this message is " + i);
}
}
}