Utilize a anotação @MessageBrokerRouter para alterar o comportamento do método avaliar em uma classe PHP.
A anotação @MessageBrokerRouter faz com que o valor deretorno do método avaliar seja utilizado para especificar o terminal através do qual a mensagem é propagada. O terminal pode ser o terminal de Saída (definido no nó) ou um terminal dinâmico que você criou. É possível incluir terminais de saída dinamicamente à instância do nó em no editor de Fluxo de Mensagens. A cadeia que é retornada do método evaluate deve corresponder ao nome do terminal dinâmico que você definiu ou ao terminal de Saída. Se nenhum valor de retorno é especificado, a montagem de saída não é propagada ao próximo nó após o retorno do método avaliar.
O exemplo a seguir roteia a mensagem para o terminal de Saída se o valor do elemento threshold for maior que 10; caso contrário, a mensagem será roteada para o terminal other:
<?php
class RouteTest {
/**
* Basic routing of a message.
*
* @MessageBrokerRouter
*/
function evaluate($assembly) {
// Simple filter
if ($assembly->XMLNSC->doc->threshold->getValue() > 10) {
return 'out';
} else {
return 'other';
}
}
}
?>
Para obter informações sobre terminais dinâmicos, consulte Utilizando Terminais Dinâmicos.