利用WSO2 ESB的开源

wso2-logo-e1412323639751 使用WSO2堆栈 (或任何其他开源Java框架)实现服务时,您迟早会遇到框架行为未达到您期望的行为的情况。 或者,您只想验证产品的工作方式。 我最近有几次这样的经历,并且绕过了它来设置远程调试会话,因此我可以逐步进行代码以查看发生了什么。 当然,这只有在您拥有可用源代码的情况下才有意义(万岁开源:-)。 在本文中,将WSO2 ESB (v 4.8.1)与IntelliJ IDEA结合使用的示例。

第一步是获取WSO2 ESB的源代码, 此处描述了这样做的方法。 当我们下载了源代码后,我们还可以下载二进制文件以使ESB在我们的计算机上本地运行(顺便说一句,我也尝试从源代码构建WSO2堆栈,但是经过数小时的尝试,我从未成功完成它) )。 当我们同时拥有源代码和二进制文件时,我们可以开始调试会话。 首先通过转到以下目录'$ ESB_HOME / bin'启动WSO2 ESB,然后执行命令'./wso2server.sh -debug 5005',如下所示:

screenshot-at-jan-21-13-52-19

如您所见,启动ESB的过程被暂停,直到在端口5005上启动调试会话为止。 现在转到IntelliJ IDEA(或者我认为其他IDE也支持此功能)并创建一个新的运行配置,例如:

screenshot-at-jan-21-13-59-24

在配置中,我仅更改配置的名称。 如您所见,默认服务器和端口在我的情况下是正确的:

screenshot-at-jan-21-14-06-24

保存配置后,我们可以通过单击菜单栏中的“错误”来启动调试会话:

screenshot-at-jan-21-14-09-51

当会话开始时,我们在IntelliJ控制台中看到以下行:
Connected to the target VM, address: 'localhost:5005', transport: 'socket' ,我们看到WSO2 ESB继续启动。

现在最困难的部分是将断点放置在源代码中的正确位置,因为WSO2堆栈中有很多断点:-)。 最好是如果您有一个堆栈跟踪将您指向某个类。 内置断点是设置断点的另一个常见位置。 可以在“ $ SRC_HOME / dependencies / synapse / 2.1.2-wso2v5 / modules / core”中找到此组件的pom.xml 。 因此,将此pom.xml导入您的IntelliJ中:

screenshot-at-jan-21-14-27-31

浏览到类“ org.apache.synapse.mediators.builtin.LogMediator.java”,并在“ mediate”方法处设置一个断点:

screenshot-at-jan-21-14-31-05

现在确保ESB调用了中介程序,并且您将看到IntelliJ将在代码到达断点时立即获得焦点:

screenshot-at-jan-21-14-41-00 现在,从这一点开始,您可以逐步执行代码,并查看为什么事情以这种方式发生。

希望这能对您有所帮助,就像它在我在文档Google中找不到任何帮助的多次帮助。

翻译自: https://www.javacodegeeks.com/2015/02/making-use-open-sources-wso2-esb.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值