Спецификация JMS 2 указывает, почему идентификатор клиента существует в разделе 6.1.3:
Единственным использованием идентификатора клиента, определенного JMS, является его обязательное использование при идентификации неразделенной долговременной подписки или еенеобязательное использование при идентификации общей долгосрочной или недлительной подписки.
Что касается общих недолговечных подписок, в спецификации это сказано в разделе 8.3.3:
Общая не-длительная подписка идентифицируется именем, указанным клиентом, и идентификатором клиента, если он установлен. Если идентификатор клиента был задан при первом создании общей недлительной подписки, то клиент, который впоследствии желает создать получателя для этой общей недлительной подписки, должен использовать тот же идентификатор клиента.
В разделе 8.3.4 spec говорит то же самое об общих долгосрочных подписках:
Совместно используемая долговременная подписка идентифицируется по имени, указанному клиентом, и по идентификатору клиента, если он установлен. Если идентификатор клиента был задан при первом создании совместно используемой долговременной подписки, то клиент, который впоследствии желает создать потребителя в этой совместно используемой долговременной подписке, должен использовать тот же идентификатор клиента.
При создании идентификатора клиентаопционально для общих долговременных и недолговечных подписок, что делает совместное использование подписки немного более удобным, поскольку каждому клиенту нужно только указать имя подписки, а не и идентификатор клиента, и имя подписки. Это согласуется с общей темой JMS 2, которая упрощает API, чтобы сделать JMS более удобным в использовании.