實現訊息佇列
1234567
891011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
32
@servicepublic class providerservice
});}
}
1234567
891011
1213
1415
1617
1819
2021
2223
2425
26
@servicepublic class comsumerservice catch (jm***ception e) }}
1234567
891011
1213
public class testclass}
1234567
891011
1213
14
1234567
891011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
3233
3435
<?xml version="1.0" encoding="utf-8"?>org.springframework.web.context.contextloaderlistener
contextconfiglocation
classpath*:spring-ioc.xml
org.springframework.web.util.introspectorcleanuplistener
dispatcher
org.springframework.web.servlet.dispatcherservlet
contextconfiglocation
classpath:spring-mvc.xml
1dispatcher
/
1234567
891011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
3233
@controllerpublic class mqcontroller
/*** 接收訊息
* @return
*/public string get()
}將專案加入tomcat,並啟動,瀏覽器訪問傳送和接收,可看到和控制台一樣的效果
1234567
891011
1213
1415
1617
1819
20
/*** 建立乙個佇列的監聽者
* 有訊息進入到佇列之後會自動消費
* 需要實現messagelistener介面
* @author muty**/
@component
public class listener implements messagelistener catch (jm***ception e) }}
- 在spring配置檔案中對監聽者進行配置
1234567
89
1234567
891011
1213
1415
1617
1819
這時,我們在增加乙個監聽者,並且讓兩個監聽者監聽同乙個佇列
因為當前是生產者,消費者模式,所以 佇列在進入了乙個訊息之後,該訊息只能被兩個監聽者中的其中乙個所消費,執行的效果是交替執行
增加第二個監聽者類
@component
public class listenertwo implements messagelistener catch (jm***ception e) }}
1234567
891011
12
多次執行測試**檢視結果,或者在瀏覽器向send處理器傳送多次請求,
會傳送,同一時間,一條訊息只能被乙個監聽者所消費
1234567
891011
以上,無論是手動接收訊息,還是監聽者自動消費訊息,都是基於生產者/消費者模式將訊息佇列的模式更改為發布者/訂閱者模式
在spring配置檔案中增加乙個topic
讓兩個監聽者都監聽這個topic
ActiveMQ訊息佇列
這個東西沒接觸到的時候挺懵的,用過一次之後,哇哦 public class producter catch jm ception e public void sendmessage string disname,listlist else thread.sleep 1000 int num coun...
activeMQ訊息佇列
session.auto acknowledge。當客戶成功的從receive 方法返回的時候,或者從messagelistener.onmessage方法成功返回的時候,會話自動確認客戶收到的訊息。session.client acknowledge。客戶通過訊息的 acknowledge 方法確...
activemq佇列訊息小結
jms開發基本步驟 1.建立連線工廠connectionfactory new connectionfactory 2.建立連線connection connectionfactory.createconnection 3.開啟連線connection.start 4.建立會話session con...