2

我有一个 java 应用程序,它从一个 JMS 队列中消费,做一些处理,然后发送到一个输出队列。

在我进行测试时,为输出队列提供基于文件系统的 JMS 实现会非常方便;这样发送给它的任何消息都会被写入磁盘上的目录。

有谁知道这是否存在?我考虑过切换到像 apache-camel 这样的集成框架,它具有基于文件的端点,但对于我现在需要的东西来说似乎有点矫枉过正。我正在使用 activemq,是否可以配置嵌入式代理来执行此操作?

4

2 回答 2

1

无论如何,我都会选择 apache camel。它还为您节省了相当多的样板代码来连接到 activemq。如果您也已经在使用 spring,那么只需添加一个简单的 routebuilder 和一些 xml 配置。罐子本身相当小,因此它的开销很小,以换取很大的灵活性。

于 2012-12-30T19:32:45.220 回答
0

我认为这种测试 jms 相关客户端代码的方法会变得非常复杂。如果您需要监视从应用程序发送的消息,请考虑使用 QueueBrowser。

但是,接收消息的代码必须有某种副作用(否则,它不会有用)。我会根据这些断言而不是检查消息队列。这应该更容易,并且很可能会导致更好的测试。

于 2012-12-03T23:40:19.677 回答