Сообщение, посланное через порт, посылается сразу во все порты, соединенные с портом-отправителем. Нужно отметить один очень важный момент: при этом во всех портах будет получена ссылка на один и тот же Java объект, моделирующий это сообщение. Поэтому если Вы измените сообщение в одном из портов, то изменятся и сообщения, полученные в других портах.
Если Вы хотите изменить содержимое сообщения, которое было послано сразу в несколько портов, то Вам нужно будет создать копию этого сообщения и работать уже с ней, чтобы избежать конфликтных ситуаций, когда сразу несколько портов будут пытаться изменить содержимое одного и того же сообщения.
Чтобы создать копию сообщения, нужно вызвать метод сообщения clone(). Созданная копия сообщения будет являться экземпляром класса Object, поэтому Вам будет нужно привести ее к своему истинному классу.
Например, Вы посылаете сообщение типа Message. Чтобы создать копию пришедшего в порт сообщения и привести ее к типу Message, нужно будет написать следующий код в Действии при получении порта:
Message message =
(Message)msg.clone();
//здесь Вы можете задать действия по изменению созданной копии сообщения
return true;