rocketmq如何修改存儲(chǔ)路徑
一、下載rocketmq對(duì)應(yīng)版本源碼
修改消息存儲(chǔ)路徑需要修改rocketmq源碼,因?yàn)閞ocketmq取的默認(rèn)路徑是user.home路徑,也就是用戶的根目錄,如下所示

直接修改用戶的user.home比較麻煩,我們打算直接修改源碼里寫死的路徑,然后重新打包
下載rocketmq源碼可以去GitHub,路徑為https://github.com/apache/rocketmq
如果要下4.7.1版本的源碼包可以選擇對(duì)應(yīng)release包

例如使用的rocketmq版本為4.7.1,則下載路徑為https://github.com/apache/rocketmq/tree/release-4.7.1
二、全局替換user.home參數(shù)為mq.store
我們用自定義參數(shù)mq.store代替默認(rèn)的user.home,全局替換user.home為mq.store

三、重新打包
注意打包時(shí)要排除單元測(cè)試, 在源碼根目錄執(zhí)行 mvn install -DskipTests


四、替換掉舊的jar包
打包完成后根據(jù)rocketmq運(yùn)行需要替換對(duì)應(yīng)的jar包,找到ROCKETMQ_HOME\lib目錄,搜索rocket

根據(jù)這里的jar包名稱,去剛剛打包好的項(xiàng)目源碼目錄去搜索,然后用打包好的新jar包替換掉原本的jar包,總共13個(gè)jar包需要替換,有些可能不需要替換,但是我沒有仔細(xì)去排查,全部替換掉了,反正源碼編譯后和原來(lái)的一樣
五、java啟動(dòng)參數(shù)新增mq.store
在項(xiàng)目里我們用mq.store替換掉了user.home,我們需要在啟動(dòng)參數(shù)里加入mq.store參數(shù),以用于使用自定義的目錄存儲(chǔ)消息和日志
在rocketmq的bin目錄下,找到并修改runbroker.cmd 和 runserver.cmd,如果是linux系統(tǒng)下使用,修改對(duì)應(yīng)的.sh文件即可


六、修改日志文件路徑
修改日志存放路徑,需要修改如下文件,位于rocketmq的conf文件夾下

修改方式一樣,都是在logback文件的<configuration>節(jié)點(diǎn)里新增<properties>節(jié)點(diǎn),在節(jié)點(diǎn)里配置rocketmq統(tǒng)一的日志存放路徑,例如上文配置的是 D:\RocketMQ目錄,
這里配置為
<property name="MQ_STORE" value="D:\RocketMQ" />
然后替換文件內(nèi)所有的user.home,為MQ_STORE
<configuration>
<property name="MQ_STORE" value="D:\RocketMQ" />
<appender name="DefaultAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MQ_STORE}/rocketmqlogs/broker_default.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${MQ_STORE}/rocketmqlogs/otherdays/broker_default.%i.log.gz</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>100MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n</pattern>
<charset class="java.nio.charset.Charset">UTF-8</charset>
</encoder>
</appender>
<appender name="RocketmqBrokerAppender_inner"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MQ_STORE}/rocketmqlogs/broker.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${MQ_STORE}/rocketmqlogs/otherdays/broker.%i.log.gz</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>20</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>128MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{yyy-MM-dd HH:mm:ss,GMT+8} %p %t - %m%n</pattern>
<charset class="java.nio.charset.Charset">UTF-8</charset>
</encoder>
</appender>
<appender name="RocketmqBrokerAppender" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="RocketmqBrokerAppender_inner"/>
</appender>
......
七、編寫一鍵啟動(dòng)文件
新建文本文件 start-rocketmq,修改后綴為.bat,內(nèi)容如下,先后啟動(dòng)nameserver 和 broker
start mqnamesrv.cmd start mqbroker.cmd -c ../conf/broker.conf namesrvAddr=127.0.0.1:9876 brokerIP1=127.0.0.1 autoCreateTopicEnable=true &
八、啟動(dòng)驗(yàn)證
記得如果要外部訪問,上面的IP要改成局域網(wǎng)的ip,另外要對(duì)外開放 9876 10909 10911端口
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java利用ITextPdf庫(kù)生成PDF預(yù)覽文件的具體實(shí)現(xiàn)
這篇文章主要給大家介紹了Java利用ITextPdf庫(kù)生成PDF預(yù)覽文件的具體實(shí)現(xiàn),文中通過代碼示例和圖文給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-04-04
Java實(shí)現(xiàn)文件監(jiān)控器FileMonitor的實(shí)例代碼
這篇文章主要介紹了Java實(shí)現(xiàn)文件監(jiān)控器FileMonitor的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
Java實(shí)現(xiàn)文件上傳到服務(wù)器本地并通過url訪問的方法步驟
最近項(xiàng)目中使用到了文件上傳到服務(wù)器的功能,下面這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)文件上傳到服務(wù)器本地并通過url訪問的方法步驟,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
springboot通過SchedulingConfigurer實(shí)現(xiàn)多定時(shí)任務(wù)注冊(cè)及動(dòng)態(tài)修改執(zhí)行周期(示例詳解)
這篇文章主要介紹了springboot通過SchedulingConfigurer實(shí)現(xiàn)多定時(shí)任務(wù)注冊(cè)及動(dòng)態(tài)修改執(zhí)行周期,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
解決異常FileNotFoundException:class path resource找不到資源文件的問題
今天小編就為大家分享一篇關(guān)于解決異常FileNotFoundException:class path resource找不到資源文件的問題,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12

