Насколько уникальным является идентификатор сообщения, сгенерированный приложением Solace System?

Насколько уникальным является значение, возвращаемое com.solacesystems.jcsmp.XMLMessage#getMessageId(), полученное подписчиком очереди (через поток)?

Официальный JavaDoc говорит:

Гарантированные сообщения, доставленные с устройства, имеют назначенный ему идентификатор сообщения.

Но я хочу знать, насколько уникален этот идентификатор и могу ли я использовать его в качестве первичного ключа БД для этого сообщения?

Также другая часть вопроса: может ли этот идентификатор быть изменен во время повторной доставки сообщения?

1 ответ

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

Если вам нужен уникальный идентификатор сообщения, вам нужно будет использовать XMLMessage.setApplicationMessageId() а также XMLMessage.getApplicationMessageId(),

Другие вопросы по тегам