seata學習--命令行啓動參數解析(JCommander)

今天在看seata源碼的時候,看到server的的啓動能接收命令行參數,以前也經常用命令行啓動的方式,但是今天才真正的去了解這麼一個大神器:

JCommander

JCommander是一個用於解析命令行參數的Java框架,支持解析所有基本的數據類型,也支持將命令行解析成用戶自定義的類型,只需要寫一個轉變函數。

首先我們來看下seata的源碼:

 @Parameter(names = "--help", help = true)
    private boolean help;
    @Parameter(names = {"--host", "-h"}, description = "The ip to register to registry center.", order = 1)
    private String host;
    @Parameter(names = {"--port", "-p"}, description = "The port to listen.", order = 2)
    private int port = SERVER_DEFAULT_PORT;
    @Parameter(names = {"--storeMode", "-m"}, description = "log store mode : file, db", order = 3)
    private String storeMode;
    @Parameter(names = {"--serverNode", "-n"}, description = "server node id, such as 1, 2, 3. default is 1", order = 4)
    private int serverNode = SERVER_DEFAULT_NODE;
    @Parameter(names = {"--seataEnv", "-e"}, description = "The name used for multi-configuration isolation.",
        order = 5)
    private String seataEnv;

這裏非常明顯的一個註解就是@Parameter,這個就是定義參數的核心內容了,所以如果我們想獲取命令行參數就需要用到他咯

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章