dubbo之服務容器
阿新 • • 發佈:2017-09-20
jetty 命令 classpath spring cto 日誌級別 web nts 靜態
服務容器是一個standalone的啟動程序,因為後臺服務不需要Tomcat或JBoss等Web容器的功能,如果硬要用Web容器去加載服務提供方,增加復雜性,也浪費資源。
服務容器只是一個簡單的Main方法,並加載一個簡單的Spring容器,用於暴露服務。
服務容器的加載內容可以擴展,內置了spring, jetty, log4j等加載,可通過Container擴展點進行擴展,參見:Container。配置配在java命令-D參數或者dubbo.properties中
Spring Container
- 自動加載 META-INF/spring 目錄下的所有 Spring 配置。
- 配置spring配置加載位置:
dubbo.spring.config=classpath*:META-INF/spring/*.xml
Jetty Container
- 啟動一個內嵌Jetty,用於匯報狀態。
- 配置:
- dubbo.jetty.port=8080 ----配置jetty啟動端口
- dubbo.jetty.directory=/foo/bar ----配置可通過jetty直接訪問的目錄,用於存放靜態文件
- dubbo.jetty.page=log,status,system ----配置顯示的頁面,缺省加載所有頁面
Log4j Container
- 自動配置log4j的配置,在多進程啟動時,自動給日誌文件按進程分目錄。
- 配置:
- dubbo.log4j.file=/foo/bar.log ----配置日誌文件路徑
- dubbo.log4j.level=WARN ----配置日誌級別
- dubbo.log4j.subdirectory=20880 ----配置日誌子目錄,用於多進程啟動,避免沖突
容器啟動
如:(缺省只加載spring)
java com.alibaba.dubbo.container.Main
或:(通過main函數參數傳入要加載的容器)
java com.alibaba.dubbo.container.Main spring jetty log4j
或:(通過JVM啟動參數傳入要加載的容器)
java com.alibaba.dubbo.container.Main -Ddubbo.container=spring,jetty,log4j
或:(通過classpath下的dubbo.properties配置傳入要加載的容器)
dubbo.properties
dubbo.container=spring,jetty,log4j
dubbo之服務容器