В зависимости от вашего вопроса я не могу сказать, что лучше в вашем случае. Конечно, это влияет на производительность из-за размера и объема сообщения, но сначала вам нужно знать, какая информация должна быть отправлена в удаленную систему потребителем сообщений, особенно в системе, которая может иметь параллельные обновления для одних и тех же данных.
Это важно, нужно ли синхронизировать информацию, хранящуюся в удаленной системе, с версией записи, только что сохраненной в вашей базе данных, и хотите ли вы распространять полную историю вместе с удаленной системой, которая обновляется приемник сообщений. Между отправкой сообщения и обработкой на другом конце очереди может пройти много времени.
Предположим (по какой-то причине), что в очереди много сообщений, и в течение нескольких секунд или минут три или четыре уведомления об обновлении одного и того же объекта попадают в очередь. Предположим, что первое сообщение обработано после , четвертое обновление записи было завершено, и его уведомление об обновлении помещено в очередь. Когда вы передаете только идентификатор записи, все четыре сообщения будут выполнять одну и ту же операцию в удаленной системе, что для одного абсолютно излишне. Кроме того, удаленная система видит четыре одинаковых обновления, но не имеет информации о трех промежуточных состояниях объекта, поэтому история, , если она имеет значение , теряется для этой системы.
Помимо этих семантических последствий, технические причины для передачи идентификатора или целых данных заключаются в том, дешевле ли развернуть обновленную информацию из тела сообщения или загрузить ее из базы данных. Это зависит от того, как вы хотите сериализовать / десериализовать содержимое. Размеры сообщений, которые вы предоставили, не должны быть проблемой для достойной реализации JMS, когда вы хотите отправить данные вместе.
При сериализации java-объектов в сообщения необходимо синхронизировать формат класса между отправителем и потребителем, а также очистить очередь, прежде чем можно будет обновить ее до новой версии класса на сайте-потребителе. Конечно, то же самое относится к обновлениям базы данных, когда вы просто передаете идентификатор.
Когда вы просто отправляете идентификатор потребителю, у вас будут дополнительные соединения с базой данных, это также может иметь значение в зависимости от нагрузки на базу данных и сложности запросов, которые вам нужно выполнить для получения объектов.