diff -ur mule-2.0.2.20080813/modules/spring-extras/src/main/java/org/mule/module/spring/events/MuleEventMulticaster.java mule-2.0.2/modules/spring-extras/src/main/java/org/mule/module/spring/events/MuleEventMulticaster.java --- mule-2.0.2.20080813/modules/spring-extras/src/main/java/org/mule/module/spring/events/MuleEventMulticaster.java 2008-07-11 04:30:31.000000000 -0400 +++ mule-2.0.2/modules/spring-extras/src/main/java/org/mule/module/spring/events/MuleEventMulticaster.java 2011-12-20 10:39:47.822676214 -0500 @@ -250,6 +250,34 @@ listeners.remove(listener); } + public void addApplicationListenerBean(String s) + { + Object listener = applicationContext.getBean(s); + if(listener instanceof ApplicationListener) + { + addApplicationListener((ApplicationListener)listener); + } + else + { + throw new IllegalArgumentException(SpringMessages.beanNotInstanceOfApplicationListener(s).getMessage()); + } + } + + + public void removeApplicationListenerBean(String s) + { + Object listener = applicationContext.getBean(s); + if(listener instanceof ApplicationListener) + { + removeApplicationListener((ApplicationListener)listener); + } + else + { + throw new IllegalArgumentException(SpringMessages.beanNotInstanceOfApplicationListener(s).getMessage()); + } + } + + /** * Removes all the listeners from the multicaster */ diff -ur mule-2.0.2.20080813/modules/spring-extras/src/main/java/org/mule/module/spring/i18n/SpringMessages.java mule-2.0.2/modules/spring-extras/src/main/java/org/mule/module/spring/i18n/SpringMessages.java --- mule-2.0.2.20080813/modules/spring-extras/src/main/java/org/mule/module/spring/i18n/SpringMessages.java 2008-02-12 15:04:43.000000000 -0500 +++ mule-2.0.2/modules/spring-extras/src/main/java/org/mule/module/spring/i18n/SpringMessages.java 2011-12-20 10:42:15.453666113 -0500 @@ -21,6 +21,11 @@ { return createMessage(BUNDLE_PATH, 1); } + + public static Message beanNotInstanceOfApplicationListener(String name) + { + return createMessage(BUNDLE_PATH, 12, name); + } }