在dubbo工程中,使用druid監控
阿新 • • 發佈:2017-09-16
工程 dubbo 監控
介紹:在dubbo項目中,使用druid的監控功能
問題:因為,在網上找勒,很多的資料,顯示的都是需要在web.xml中配置
<servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping>
可是,我們一般搭建的dubbo項目,使用的shell腳本啟動的,java命令啟動,沒有使用到Tomcat容器,雖然可以使用,
但是會顯得,很浪費
解決:
其實,思路是借鑒,dubbo-monitor-simple 工程的思路,在dubbo的啟動項目中,啟動jetty容器,去監控,這個監控
這個容器也不是很大,所以不會有多少性能的損失。
下面貼出代碼,以及遇到的問題,貼出的為主要代碼,是在大家已有的dubbo項目上添加即可
pom.xml
<dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId> <version>6.1.26</version> </dependency>
描述: dubbo啟動jetty依賴的jar
/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.container.Container
myjetty=com.xxxx.insurance.service.demo.common.container.JettyContainer
/src/main/java/com/xxxx/insurance/service/demo/common/container/JettyContainer.java
// 日誌監控系統的 handler.addServletWithMapping(StatViewServlet.class, "/druid/*");
描述:直接copy,dubbo的JettyContainer.java過來,修改就可以啦
啟動代碼
public static void main(String[] args) { args = new String[]{"spring","myjetty"}; com.alibaba.dubbo.container.Main.main(args); }
腳本啟動
conf/ dubbo.properties
dubbo.container=spring,myjetty dubbo.log4j.file=logs/dubbo-demo-provider.logdubbo.log4j.level=WARN
最後,啟動,訪問
http://localhost:8080/druid/index.html
本文出自 “小新的夢” 博客,請務必保留此出處http://liuzedong.blog.51cto.com/8906170/1965697
在dubbo工程中,使用druid監控