我正在使用http://mockrunner.sourceforge.net/中的 mockrunner 包来设置一个模拟队列,用于 JUnit 测试一个 XML 过滤器,其操作如下:
- 为 ftp 服务器设置可识别的属性以放置和获取 xml 输入以及跟踪作业的 jms 队列服务器。一旦接收到队列消息,就会远程等待实际解析 xml 的服务器。
- 使用 ftp 创建一个远程目录并使用 mqconnectionfactory 启动到队列服务器的给定地址的队列连接。
- 一旦在 2) 中创建了新的队列条目,过滤器将等待新的队列消息出现,表示远程服务器已完成作业。然后过滤器从 ftp 中抓取修改后的 xml 文件并将其传递给下一个过滤器。
我正在处理的 JUnit 测试只需要通过启动本地 ftp 和模拟队列服务器来模拟此环境以供过滤器连接,然后等待过滤器连接到队列并将新的 xml 输入文件放在本地目录中通过本地 ftp 服务器,等待队列消息,然后稍微修改 xml 输入,将修改后的 xml 放在新目录中,然后向队列发布另一条消息,表示作业已完成。
我在网上找到的所有教程都使用 EJB 和 JNDI 来查找队列服务器。如果可能的话,我想通过在我的本地机器上创建一个模拟队列并以最简单的方式连接到它,而不是使用 EJB 和 JNDI 来回避这条路线。
提前致谢!