wso2ESB - 在eclipse中启用调试模式
最近在使用wso2ESB,记录一下使用过程中碰到的坑,先写一篇调试的(前面的工具安装就不介绍了,既然想用调试了说明你已经看过一部分文档了),以后可能会介绍其他功能的使用。
在wso2 ei的文档中,介绍了用调试模式启动integrator.bat的方式,但是这种方式在开发环境下,不能快速部署(也就是说修改之后不能马上生效,需要打包c-app文件上传)
一.环境
- wso2 EI 6.1.1
- 带wso2插件功能的eclipse
二.用eclipse以调试模式启动wso2 EI服务器
1.先配置好调试参数,debug(小虫子) -> debug configurations
双击就可以了,不用修改
2. 右键服务器启动
点击启动,然后点红色的停止按钮马上停掉,目的是为了生成启动配置。
然后配置启动参数
可以看到生成了很多虚拟机参数(刚刚如果没有先启动再停掉的话是没有VM参数的),拉到最下面,配置 -Desb.debug=true
3.再启动服务器
控制台会打印到,这个地方启动会停掉,这个地方有大概一分钟的等待时间,如果不启动调试,会以非debug模式启动
[2018-03-14 18:33:17,137] [EI-Core] INFO – SynapseDebugInterface Listen on ports : Command 9005 – Event 9006
4. 启动调试
在等待的时候,点击刚才配置的debug配置,然后就能以debug模式启动了
然后就能打断点了
注意每次redeploy后失效,所以redeploy后要把断点去掉重新打断点。
经常会碰到断点去不掉的情况,这时候把这个xml关掉,重新打开就好了。
三.启用wire log
在<EI_HOM>onf/log4j.properties 下,
把
log4j.logger.org.apache.synapse.transport.http.wire=DEBUG
log4j.logger.httpclient.wire.header=DEBUG
log4j.logger.httpclient.wire.content=DEBUG
前面的注释符号去掉,然后就能看到wirelog了,
注意:在生产环境中不要启用wirelog