Насколько уникальным является идентификатор сообщения, сгенерированный приложением Solace System?
Насколько уникальным является значение, возвращаемое com.solacesystems.jcsmp.XMLMessage#getMessageId(), полученное подписчиком очереди (через поток)?
Официальный JavaDoc говорит:
Гарантированные сообщения, доставленные с устройства, имеют назначенный ему идентификатор сообщения.
Но я хочу знать, насколько уникален этот идентификатор и могу ли я использовать его в качестве первичного ключа БД для этого сообщения?
Также другая часть вопроса: может ли этот идентификатор быть изменен во время повторной доставки сообщения?
1 ответ
Идентификатор сообщения используется только внутри устройства между API и API для подтверждения сообщений. Нет гарантии, что идентификатор сообщения является уникальным.
Если вам нужен уникальный идентификатор сообщения, вам нужно будет использовать XMLMessage.setApplicationMessageId()
а также XMLMessage.getApplicationMessageId()
,