您好,登錄后才能下訂單哦!
一、多種啟動(dòng)Broker的方法
二、單獨(dú)應(yīng)用的開發(fā)
//1:Broker Service啟動(dòng)broker,示例如下
BrokerService broker = new BrokerService();
broker.setUseJmx(true);
broker.addConnector("tcp://localhost:61616");
broker.start();
//2:BrokerFactory 啟動(dòng)broker,示例如下:
String uri = "properties:broker.properties";
BrokerService broker1 = BrokerFactory.createBroker(new URI(uri));
broker1.addConnector("tcp://localhost:61616");
broker1.start();
//3:broker.properties的內(nèi)容如下:
useJms=true
persistent=false
brokerName=Cheese
三、結(jié)合spring boot的開發(fā)
參考:https://blog.csdn.net/liuchuanhong1/article/details/54603546
配置pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-pool</artifactId>
</dependency>
spring.activemq.broker-url=tcp://localhost:61616
spring.activemq.in-memory=true
#如果此處設(shè)置為true,需要加如下的依賴包,否則會(huì)自動(dòng)配置失敗,報(bào)JmsMessagingTemplate注入失敗
spring.activemq.pool.enabled=false
生產(chǎn)者
@Service
public class Producer {
@Autowired // 也可以注入JmsTemplate,JmsMessagingTemplate對(duì)JmsTemplate進(jìn)行了封裝
private JmsMessagingTemplate jmsTemplate;
// 發(fā)送消息,destination是發(fā)送到的隊(duì)列,message是待發(fā)送的消息
public void sendMessage(Destination destination, final String message){
jmsTemplate.convertAndSend(destination, message);
}
}
@Component
public class Consumer {
使用JmsListener配置消費(fèi)者監(jiān)聽(tīng)的隊(duì)列,其中text是接收到的消息
@JmsListener(destination = "springboot-activemq")
public void receiveQueue(String text) {
System.out.println("Consumer收到的報(bào)文為:"+text);
}
}
測(cè)試類
@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);
}
}
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。