Я использую пакет mockrunner из http://mockrunner.sourceforge.net/ для настройки фиктивной очереди для тестирования JUnit XML-фильтра, который работает следующим образом:
- устанавливает распознанные свойства для ftp-сервера для размещения и получения входных данных xml, а также для сервера очередей jms, который отслеживает задания. Удаленно ждет сервер, который фактически анализирует XML после получения сообщения очереди.
- создает удаленный каталог с использованием ftp и запускает подключение к очереди, используя mqconnectionfactory, с указанным адресом сервера очереди.
- как только новая запись очереди сделана в 2), фильтр ожидает появления нового сообщения очереди, означающего, что задание было выполнено удаленным сервером. Затем фильтр получает измененный XML-файл с FTP-сервера и передает его следующему фильтру.
Тесту JUnit, над которым я работаю, просто нужно эмулировать эту среду, запустив локальный ftp и фиктивный сервер очередей для фильтра, к которому нужно подключиться, затем дождавшись, пока фильтр подключится к очереди, и поместит новый входной файл xml в локальный каталог через локальный ftp-сервер, дождитесь сообщения очереди и затем слегка измените ввод xml, поместите измененный xml в новый каталог и отправьте еще одно сообщение в очередь, означающее, что задание выполнено.
Все учебники, которые я нашел в сети, использовали EJB и JNDI для поиска сервера очередей после его создания. Если возможно, я бы хотел обойти этот маршрут, просто создав ложную очередь на моем локальном компьютере и подключившись к ней самым простым способом, не используя EJB и JNDI.
Заранее спасибо!