¿Cómo puedo asegurarme de que mi tarea sea procesada por la aplicación correcta?
Cuando un HTM La tarea está completada, se publica una notificación sobre la finalización. Kafka tema. Dependiendo de cómo se despliegue su aplicación, puede que deba considerar filtrar tareas para asegurar que la respuesta apropiada sea procesada una sola vez por el sistema correspondiente.
Filtrado por flujo
Por defecto, una aplicación que utiliza el HTM Flo Client procesará todas las tareas donde tenga una instancia del flujo objetivo disponible. Esto asegura que las respuestas sean procesadas únicamente por aquellos flujos que se espera que las procesen.- otro HTM las respuestas son ignoradas.
Esto utiliza la configuración de propiedades predeterminada:
ipf.htm.receiver-type = default
Filtrado por flujo y instancia en ejecución
Cuando un flujo se despliega en múltiples lugares (por ejemplo, un flujo reutilizable común que se despliega junto a su flujo principal de llamada), puede ser necesario filtrar aún más el flujo del comportamiento predeterminado. Esto se debe a que, aunque el filtrado de flujo predeterminado coincidirá, la instancia real del flujo puede estar en un despliegue diferente. Para hacerlo, puede cambiar los modos de filtrado configurando la propiedad:
ipf.htm.receiver-type = receive-when-non-initial
Proporcionando un custom implementación
También es posible proporcionar un completamente custom implementación del manejo de HTM respuestas de finalización. Para hacer esto, establecemos el tipo de receptor a custom:
ipf.htm.receiver-type = custom
Al utilizar esta opción, también es necesario proporcionar un custom implementación del 'HtmClientReceiveNotificationPort' que es proporcionado por el core API HTM.
Filtrado de Notificaciones basado en el Nombre de la Aplicación
Para los tipos de receptor predeterminados y de recepción-cuando-no-inicial, el sistema aplica un filtrado adicional basado en el nombre de la aplicación de origen. Esto asegura que solo la aplicación responsable de registrar la tarea en HTM procesa su notifications.
Configuración
El nombre de la aplicación fuente puede ser customized a través de la ipf.application.name propiedad. Si no se especifica, se establece en el valor de actor-system-name propiedad.
Al realizar un cambio en el nombre de la aplicación como parte de su implementación, siempre debe asegurarse de que todas las tareas estén cerradas.notifications han sido procesados. De lo contrario, cambiar el nombre de la aplicación podría resultar en la pérdida de notificaciones:notifications Las llegadas después del cambio de nombre serán filtradas si corresponden a tareas que fueron registradas bajo el nombre de la aplicación anterior. |