I have several services that are listening for Spring events to make changes to my underlying data model.  These all work by implementing ApplicationListener<Foo>.  Once all of the Foo listeners modify the underlying data model, my user interface needs to refresh to reflect the changes (think fireTableDataChanged()).
Is there any way to ensure that a specific listener for Foo is always last?  Or is there any way to call a function when all other listeners are done?  I'm using annotation based wiring and Java config, if that matters.