Utilice la anotación @MessageBrokerRouter para modificar el comportamiento del método de evaluación en una clase PHP.
La anotación @MessageBrokerRouter hace que el valor de retorno del método de evaluación se utilice para especificar el terminal a través del cual se va a propagar el mensaje. El terminal puede ser el terminal de salida (definido en el nodo) o un terminal dinámico que haya creado. Puede añadir terminales de salida dinámicamente a la instancia del nodo en el Editor de flujos de mensajes. La serie que se devuelve del método de evaluación debe coincidir con el nombre del terminal dinámico que ha definido o con el terminal de salida. Si no se especifica ningún valor de retorno, la salida ensamblada no se propaga al nodo siguiente después del retorno del método de evaluación.
El ejemplo siguiente direcciona el mensaje al termina de salida si el valor del elemento threshold es mayor que 10; de lo contrario, el mensaje se direcciona al otro terminal:
<?php
class RouteTest {
/**
* Direccionamiento básico de un mensaje.
*
* @MessageBrokerRouter
*/
function evaluate($assembly) {
// Filtro simple
if ($assembly->XMLNSC->doc->threshold->getValue() > 10) {
return 'out';
} else {
return 'other';
}
}
}
?>
Para obtener información acerca de los terminales dinámicos, consulte Utilización de terminales dinámicos.