Pregunta

El modelo que necesito para mi solución es el siguiente:

Necesito sondear la base de datos y basarme en un resultado, crear una solicitud a la base de datos para obtener más datos, obtener la respuesta y pasarla a un grupo de puertos, para los cuales, según una propiedad promocionada, solo uno de los puertos actuará.

Se parece a esto:

Sin embargo, si asigna " Temp Out " a un grupo de puertos de envío, el mensaje se envía a todos los puertos del grupo, independientemente de los filtros establecidos en cada puerto. A mi entender, este es el comportamiento esperado (lea aquí ).

Así que exploré otras opciones como el uso de enrutamiento basado en contenido (ejemplo de CBR) como en el SDK. Puede ver este aquí .

Intenté esto y eliminé completamente la orquestación (realmente no es necesario). Sin embargo, hay errores de enrutamiento / suscripción importantes, y luego de más investigaciones, parece que no puede hacer esto si tiene puertos de solicitud de respuesta. Algunos artículos sobre eso aquí . Casi tengo el mismo problema esto el usuario tiene.

Al final no me importa si uso una orquestación o no. Sin embargo, necesito una solución en la que pueda pasar el mensaje a varios puertos de envío, y solo puedo hacer que uno use el mensaje y lo envíe. Esto es necesario para poder editar y agregar puertos fácilmente sin tener que modificar nada más o decisiones de código duro en la orquestación.

¿Fue útil?

Solución 2

Encontré que el modelo de ejemplo CBR sí funciona. El problema con el enrutamiento fueron las suscripciones. Si tenía que suscribir un puerto de envío a un puerto de solicitud de respuesta, tenía que establecer el filtro BTS.SPName (Nombre del puerto de envío) en lugar del filtro BTS.ReceivePort. Al hacer esto, el mensaje fue filtrado correctamente. Tu respuesta también habría funcionado, pero requiere el uso de una orquestación que intentaba evitar.

Otros consejos

Puede usar Enlace directo en el puerto de envío de la orquestación para volver a enviar el mensaje en el cuadro de mensaje db. Usando múltiples grupos de puertos, cada grupo de puertos puede entonces suscribirse directamente al tipo de mensaje deseado y filtrar las propiedades promocionadas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top