分线使用同一个TestAgent(执行器)
问题描述:因总线用例的组件格式和转发的队列都发生变化,所以之前对执行器做了调整,当时调整的方案是对执行器内部的spasvoKCBP.jar文件进行改造从而生成新的spasvoKCBP.jar文件,这样导致总线用例和BP用例需要两套执行器支持运行,现客户提出前强烈要求将两个执行器合二为一,即spasvoKCBP,jar文件合成一个,能够自动识别总线的组件和BP的组件。现两个执行器以及总线和BP的组件都一并发送。
问题分析:我们接口属于利用java去调用C++语言dll文件,在不同执行器去调用的时候,类似的dll文件会发生冲突,所以导致不同的执行器不能同时调用。
问题解决:
1、首先在虚拟机上去调用不同的线获得结果集和参数,
2、然后将TestAgent拷贝到本机上,在本机不去配置环境的情况下去开启执行器,看能否跑通。
3、之后我们在eclipse上去调试,写一个测试类,将之前虚拟机执行得到的参数,另外还有publicFunction中的公共参数,放入到测试类中的Map中去执行,参看返回结果;一般都会提示缺少依赖包,我们利用DEPENDS工具去查看缺少的依赖包,然后在虚拟机上的TestAgent上去找依赖包,将这些依赖包放入到eclipse中去。
4、根据不同线我们对依赖包也放入到不同的文件夹下面,方便执行器去调用。
5、注意:我们通过软件有的时候不能完全找到缺少的依赖包,所以有的时候需要我们自己去尝试,一般的尝试方法是看能跑通的依赖包中,一个个去删减,然后看能否跑通。