ActiveMQ的安裝與配置
阿新 • • 發佈:2019-02-20
一、下載與安裝
直接去官網(http://activemq.apache.org/)下載最新版本即可,由於這是免安裝的,只需要解壓就行了。安裝完之後進入bin目錄,雙擊 activemq.bat檔案(linux下在bin目錄下執行 activemq start)
二、訪問控制檯
三、修改埠號
61616為對外服務埠號
8161為控制器埠號
當埠號衝突時,可以修改這兩個埠號。cd conf ,修改activemq.xml 修改裡面的61616埠。修改jetty.xml,修改裡面的8161埠。
四、刪除不活動佇列
一般情況下,ActiveMQ的queue或者topic在不使用之後,可以通過web控制檯來刪除掉。當然,也可以通過配置,使得broker可以自動探測到無用的佇列(一定時間內為空的佇列)並刪除掉,回收響應資源。
activemq.xml
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.base}/data" destroyApplicationContextOnStop="true" schedulePeriodForDestinationPurge="10000">
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry topic=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="100000" memoryLimit="1mb">
<pendingSubscriberPolicy>
<vmCursor />
</pendingSubscriberPolicy>
</policyEntry>
<policyEntry queue=">" gcInactiveDestinations ="true" inactiveTimoutBeforeGC="100000" memoryLimit="1mb">
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
</broker>
schedulePeriodForDestinationPurge:10000 每十秒檢查一次,預設為0,此功能關閉
gcInactiveDestinations: true 刪除掉不活動佇列,預設為false
inactiveTimoutBeforeGC:30000 不活動30秒後刪除,預設為60秒
這裡需要注意的是,對於topic的不活動佇列只是,10秒中之類沒有消費者進行註冊監聽,如果一個使用者事先註冊了這個監聽,但是他一直沒有登入,那麼這算活動佇列。而queue只要有訊息沒有出佇列就表示活動佇列。