Мы осуществляем некоторую связь JMS через брандмауэры. Настройки брандмауэра зависят от вашего провайдера JMS, поскольку JMS - это не «проводной протокол», а API. Могут быть реализации JMS, которыми трудно управлять через брандмауэр. Мы использовали JBOSS MQ и SonicMQ и обнаружили, что это очень не проблема: для обоих требуется открыть только небольшой набор портов.
Одной из проблем, которую следует отслеживать, является поведение при отсутствии трафика сообщений: большинство реализаций не обмениваются сетевыми данными, пока не отправлено сообщение, большинство брандмауэров действительно имеют некоторое время ожидания соединения. Это может привести к обрыву соединений брандмауэром. Обходной путь, который мы используем здесь, заключается в том, чтобы периодически воссоздавать соединение.