您好,登錄后才能下訂單哦!
這篇文章主要介紹基于javaagent如何實現zkconfigutil對程序零侵入,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
@TypeZkConfigurable public final class Demo { @FieldZkConfigurable(dynamicUpdate = true) public static String F1 = "F1"; @FieldZkConfigurable(dynamicUpdate = true) public static String F2 = "F2"; @FieldZkConfigurable(dynamicUpdate = true) public static Boolean F3 = false; @FieldZkConfigurable public static Boolean F4 = true; }
這個配置項F1字段dynamicUpdate = true,代表這個字段需要動態更新,即zookeeper上的值變化后F1需要做出相應修改。F4字段采用采用默認dynamicUpdate false,也就是不需要動態更新。
public static void main(String[] args) throws InterruptedException { while (true) { System.out.println("Demo.F1 = " + Demo.F1); loop(); } } public static void loop() throws InterruptedException { Thread.sleep(2000L); }
這段代碼不需多解釋,2s打印一次F1(這個字段可是動態更新的哦!)
ok代碼已經寫完了,是不是對您的代碼完全沒有侵入呢?
-javaagent:/home/jerry/ZKCUAgent.jar=zk@10.31.44.38:2181#class@com.jerry.zkconfigutil.Demo
這里主要用了javaagent,在jvm參數中添加上述參數,首先-javaagent指定我們的agent的jar,這里在我的home目錄下,然后=號用來指定agent的agentOps,也就是參數,格式為zk@z1,z2#class@c1,c2,c3。
ok,帶上javaagent參數后直接啟動,現在我們的Demo已經實現了zookeeper化配置。
以上是“基于javaagent如何實現zkconfigutil對程序零侵入”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。