|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.mule.module.spring.events.MuleEventMulticaster
public class MuleEventMulticaster
MuleEventMulticaster is an implementation of a Spring
ApplicationEventMulticaster. This implementation allows Mule event to be sent and
received through the Spring ApplicationContext. This allows any Spring bean to
receive and send events from any transport that Mule supports such as Jms, Http,
Tcp, Pop3, Smtp, File, etc. All a bean needs to do to receive and send events is
to implement MuleEventListener. Beans can also have subscriptions to certain
events by implementing MuleSubscriptionEventListener, where the bean can provide a
list of endpoints on which to receive events i.e.
<bean id="myListener" class="com.foo.MyListener">
<property name="subscriptions">
<list>
<value>jms://customer.support</value>
<value>pop3://support:123456@mail.mycompany.com</value>
</list>
</property>
</bean>
<bean id="applicationEventMulticaster" class="org.mule.module.spring.events.MuleEventMulticaster">
<property name="subscriptions">
<list>
<value>jms://orders.queue</value>
<value>jms://another.orders.queue</value>
</list>
</property>
</bean>
<bean id="myListener" class="com.foo.MyListener">
<property name="subscriptions">
<list>
<value>jms://*.orders.*.</value>
</list>
</property>
</bean>
MuleEventListener,
MuleSubscriptionEventListener,
ApplicationEventMulticaster| Field Summary | |
|---|---|
protected org.springframework.context.ApplicationContext |
applicationContext
The Spring application context |
protected boolean |
asynchronous
Determines whether events will be processed asynchronously |
protected ExecutorService |
asyncPool
An ExecutorService for handling asynchronous events |
static String |
EVENT_MULTICASTER_DESCRIPTOR_NAME
|
protected ExceptionListener |
exceptionListener
Used to store parsed endpoints |
protected Set |
listeners
The set of listeners for this Multicaster |
protected static org.apache.commons.logging.Log |
logger
logger used by this class |
protected MuleContext |
muleContext
|
protected Service |
service
The mule instance component for the Multicaster |
protected Class |
subscriptionFilter
The filter used to match subscriptions |
protected String[] |
subscriptions
A list of endpoints the eventMulticaster will receive events on Note that if this eventMulticaster has a Mule Descriptor associated with it, these endpoints are ignored and the ones on the Mule Descriptor are used. |
| Fields inherited from interface org.mule.api.lifecycle.Initialisable |
|---|
PHASE_NAME |
| Constructor Summary | |
|---|---|
MuleEventMulticaster()
|
|
| Method Summary | |
|---|---|
void |
addApplicationListener(org.springframework.context.ApplicationListener listener)
Adds a listener to the the Multicaster. |
void |
addApplicationListenerBean(String s)
|
protected ObjectFilter |
createFilter(String pattern)
|
protected void |
dispatchEvent(MuleApplicationEvent applicationEvent)
Will dispatch an application event through Mule |
protected Service |
getDefaultService()
|
Class |
getSubscriptionFilter()
the type of filter used to filter subscriptions |
String[] |
getSubscriptions()
A list of endpoints the eventMulticaster will receive events on Note that if this eventMulticaster has a Mule Descriptor associated with it, these endpoints are ignored and the ones on the Mule Descriptor are used. |
void |
initialise()
|
boolean |
isAsynchronous()
Determines whether events will be processed asynchronously |
void |
multicastEvent(org.springframework.context.ApplicationEvent e)
Method is used to dispatch events to listeners registered with the EventManager or dispatches events to Mule depending on the type and state of the event received. |
Object |
onCall(MuleEventContext context)
This is the callback method used by Mule to give Mule events to this Multicaster |
protected void |
registerMulticasterComponent()
|
void |
removeAllListeners()
Removes all the listeners from the multicaster |
void |
removeApplicationListener(org.springframework.context.ApplicationListener listener)
Removes a listener from the multicaster |
void |
removeApplicationListenerBean(String s)
|
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
Set the current Spring application context |
void |
setAsynchronous(boolean asynchronous)
Determines whether events will be processed asynchronously |
protected void |
setExceptionListener(ExceptionListener listener)
|
void |
setMuleContext(MuleContext context)
|
void |
setSubscriptionFilter(Class subscriptionFilter)
sets the type of filter used to filter subscriptions |
void |
setSubscriptions(String[] subscriptions)
A list of endpoints the eventMulticaster will receive events on Note that if this eventMulticaster has a Mule Descriptor associated with it, these endpoints are ignored and the ones on the Mule Descriptor are used. |
protected void |
setSubscriptionsOnService(Service service)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String EVENT_MULTICASTER_DESCRIPTOR_NAME
protected static final org.apache.commons.logging.Log logger
protected final Set listeners
protected boolean asynchronous
protected ExecutorService asyncPool
protected String[] subscriptions
protected org.springframework.context.ApplicationContext applicationContext
protected Service service
protected Class subscriptionFilter
protected ExceptionListener exceptionListener
protected MuleContext muleContext
| Constructor Detail |
|---|
public MuleEventMulticaster()
| Method Detail |
|---|
public void setMuleContext(MuleContext context)
setMuleContext in interface MuleContextAware
public void initialise()
throws InitialisationException
initialise in interface InitialisableInitialisationExceptionpublic void addApplicationListener(org.springframework.context.ApplicationListener listener)
AsynchronousMessageListener is used to wrap the listener. This
listener will be initialised with a threadpool. The configuration for the
threadpool can be set on this multicaster or inherited from the MuleManager
configuration, which is good for most cases.
addApplicationListener in interface org.springframework.context.event.ApplicationEventMulticasterlistener - the ApplicationListener to register with this MulticasterAsynchronousEventListener,
ThreadingProfilepublic void removeApplicationListener(org.springframework.context.ApplicationListener listener)
removeApplicationListener in interface org.springframework.context.event.ApplicationEventMulticasterlistener - the listener to removepublic void addApplicationListenerBean(String s)
addApplicationListenerBean in interface org.springframework.context.event.ApplicationEventMulticasterpublic void removeApplicationListenerBean(String s)
removeApplicationListenerBean in interface org.springframework.context.event.ApplicationEventMulticasterpublic void removeAllListeners()
removeAllListeners in interface org.springframework.context.event.ApplicationEventMulticasterpublic void multicastEvent(org.springframework.context.ApplicationEvent e)
multicastEvent in interface org.springframework.context.event.ApplicationEventMulticastere - the application event received by the contextpublic boolean isAsynchronous()
public void setAsynchronous(boolean asynchronous)
asynchronous - true if asynchronous
public Object onCall(MuleEventContext context)
throws TransformerException,
MalformedEndpointException
onCall in interface Callablecontext - the context received by Mule
TransformerException
MalformedEndpointException
protected void dispatchEvent(MuleApplicationEvent applicationEvent)
throws ApplicationEventException
applicationEvent - the Spring event to be dispatched
ApplicationEventException - if the event cannot be dispatched i.e. if
the underlying transport throws an exception
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
throws org.springframework.beans.BeansException
setApplicationContext in interface org.springframework.context.ApplicationContextAwareapplicationContext - application context
org.springframework.beans.BeansException
protected void registerMulticasterComponent()
throws MuleException
MuleException
protected void setSubscriptionsOnService(Service service)
throws MuleException
MuleException
protected Service getDefaultService()
throws MuleException
MuleExceptionprotected ObjectFilter createFilter(String pattern)
public Class getSubscriptionFilter()
WildcardFilterpublic void setSubscriptionFilter(Class subscriptionFilter)
subscriptionFilter - the class of the filter to use.public String[] getSubscriptions()
public void setSubscriptions(String[] subscriptions)
subscriptions - a list of endpoints to listen onprotected void setExceptionListener(ExceptionListener listener)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||