UDP и JMS отличаются во многих отношениях и принципиально, поскольку JMS обычно полагается на функции, присущие TCP (см. Это сравнение UDP и TCP , чтобы получить представление о различиях двух базовых протоколов).
В основном UDP подходит для приложений, которые не требуют никакой надежности, упорядочения, контроля перегрузки или маршрутизации между сетями (поскольку многие маршрутизаторы потребительского и коммерческого уровня не пересылают пакеты UDP). JMS предоставляет все эти функции, отсутствующие в UDP и т. Д. (Например, транзакции, паб / подписка и организация очередей, надежные подписки и т. Д.).
UDP может быть подходящим для потоковой передачи больших объемов данных в локальной сети, где абсолютное качество не требуется; JMS будет лучше для приложений, требующих надежного обмена сообщениями между хостами глобальной сети. Более того, JMS скрывает детали сокетов, серверов, привязок и т. Д. И предоставляет высокоуровневый API, который лучше подходит для интеграции на предприятии.