Создание идентификатора корреляции JMS - PullRequest
9 голосов
/ 05 ноября 2010

Как правило, не рекомендуется использовать идентификатор сообщения, возвращенный поставщиком JMS, в качестве идентификатора корреляции, с которым сообщение публикуется в очереди.Как люди сгенерировали свои идентификаторы корреляции для архитектуры запрос / ответ?

Ответы [ 2 ]

2 голосов
/ 07 марта 2013

Клиенты могут использовать уникальный стандарт идентификатора, например UUID, для создания нового идентификатора. Здесь - хороший учебник для вас.

Вы можете вернуть идентификатор корреляции от провайдера JMS, используя следующий код.

message.setJMSCorrelationID(UUID.randomUUID().toString());
producer.send(message);
LOG.info("jms-client sent:" + message.getJMSCorrelationID());  

Приветствие.

1 голос
/ 23 марта 2015

Генерация идентификатора корреляции на стороне сервера страдает от двух проблем:

  1. Односторонние протоколы (например, JMS) не имеют прямых средств для возврата идентификатора корреляциивернуться к клиенту.Можно использовать другой канал, но это усложняет ситуацию.

  2. Неожиданные проблемы могут помешать клиенту получить сгенерированный идентификатор, даже если запрос был принят и обработан на сервере.Вот почему следует учитывать создание идентификатора клиента.

Идентификаторы корреляции, сгенерированные клиентом

Клиенты могут использовать стандарт уникального идентификатора, такой как UUID, для генерацииновый ID

  message.setJMSCorrelationID(UUID.randomUUID().toString());

Ref: http://blogs.mulesoft.com/dev/anypoint-platform-dev/total-traceability/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...