Tengo varios servicios que están escuchando eventos Spring para realizar cambios en mi modelo de datos subyacente. Todos estos funcionan implementando ApplicationListener<Foo>
. Una vez que todos los oyentes Foo
modifiquen el modelo de datos subyacente, mi interfaz de usuario debe actualizarse para reflejar los cambios (piense en fireTableDataChanged()
).¿Puedo asegurar que uno de mis Spring ApplicationListeners se ejecute al final?
¿Hay alguna forma de garantizar que un escucha específico para Foo
siempre sea el último? ¿O hay alguna forma de llamar a una función cuando todos los otros oyentes están listos? Estoy usando el cableado basado en anotaciones y la configuración de Java, si eso importa.
¿Puedes intentar implementar ['Ordered'] (http://static.springsource.org/spring/docs/current/javadoc-api/org/springframework/core/Ordered.html) en cada uno de tus oyentes y ajustar orden apropiadamente? –
@TomaszNurkiewicz Eso parece prometedor, lo intentaré en un segundo. – Luke
@TomaszNurkiewicz ¿Te importa poner eso en una respuesta para que pueda darte crédito por ello? Eso funcionó muy bien! – Luke