|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.mule.extras.spring.events.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.extras.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 | |
static java.lang.String |
EVENT_MULTICASTER_DESCRIPTOR_NAME
|
protected static Log |
logger
logger used by this class |
Constructor Summary | |
MuleEventMulticaster()
|
Method Summary | |
void |
addApplicationListener(ApplicationListener listener)
Adds a listener to the the Multicaster. |
protected UMOFilter |
createFilter(java.lang.String pattern)
|
protected void |
dispatchEvent(UMOEventContext eventContext,
MuleApplicationEvent applicationEvent)
Will dispatch an application event through Mule |
protected UMODescriptor |
getDefaultDescriptor()
|
java.util.Map |
getEndpointMappings()
Any logical endpointUri mappings to register with mule. |
java.lang.Class |
getSubscriptionFilter()
the type of filter used to filter subscriptions |
java.lang.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. |
protected void |
initMule()
|
boolean |
isAsynchronous()
Determines whether events will be processed asynchronously |
void |
multicastEvent(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. |
void |
onMuleEvent(UMOEventContext context)
This is the callback method used by Mule to give Mule events to this Multicaster |
protected void |
registerConnectors()
|
protected void |
registerEndpointMappings()
|
protected void |
registerMulticasterDescriptor()
|
protected void |
registerTransformers()
|
void |
removeAllListeners()
Removes all the listeners from the multicaster |
void |
removeApplicationListener(ApplicationListener listener)
Removes a listener from the multicaster |
void |
setApplicationContext(ApplicationContext applicationContext)
Set the current Spring application context |
void |
setAsynchronous(boolean asynchronous)
Determines whether events will be processed asynchronously |
void |
setEndpointMappings(java.util.Map endpointMappings)
Any logical endpointUri mappings to register with mule. |
void |
setSubscriptionFilter(java.lang.Class subscriptionFilter)
sets the type of filter used to filter subscriptions |
void |
setSubscriptions(java.lang.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 |
setSubscriptionsOnDescriptor(MuleDescriptor descriptor)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String EVENT_MULTICASTER_DESCRIPTOR_NAME
protected static transient Log logger
Constructor Detail |
public MuleEventMulticaster()
Method Detail |
public void addApplicationListener(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 of can be
inherited from the MuleManager configuration, which good for most cases.
listener
- the ApplicationListener to register with this MulticasterAsynchronousEventListener
,
ThreadingProfile
public void removeApplicationListener(ApplicationListener listener)
listener
- the listener to removepublic void removeAllListeners()
public void multicastEvent(ApplicationEvent e)
e
- the application event received by the contextpublic boolean isAsynchronous()
public void setAsynchronous(boolean asynchronous)
asynchronous
- true if aysnchronouspublic void onMuleEvent(UMOEventContext context) throws TransformerException, MalformedEndpointException
context
- the context received by Mule
TransformerException
MalformedEndpointException
protected void dispatchEvent(UMOEventContext eventContext, MuleApplicationEvent applicationEvent) throws ApplicationEventException
eventContext
- the event received before dispatchingapplicationEvent
- the Spring event to be dispatched
ApplicationEventException
- if the event cannot be dispatched i.e.
if the underlying transport throws an exceptionpublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException
applicationContext
-
BeansException
protected void initMule()
protected void registerMulticasterDescriptor() throws UMOException
UMOException
protected void setSubscriptionsOnDescriptor(MuleDescriptor descriptor) throws UMOException
UMOException
protected void registerEndpointMappings() throws InitialisationException
InitialisationException
protected void registerConnectors() throws UMOException
UMOException
protected void registerTransformers() throws UMOException
UMOException
protected UMODescriptor getDefaultDescriptor() throws UMOException
UMOException
protected UMOFilter createFilter(java.lang.String pattern)
public java.lang.Class getSubscriptionFilter()
WildcardFilter
public void setSubscriptionFilter(java.lang.Class subscriptionFilter)
subscriptionFilter
- the class of the filter to use.public java.util.Map getEndpointMappings()
public void setEndpointMappings(java.util.Map endpointMappings)
endpointMappings
- a map of logical names and endpoiut
url stringspublic java.lang.String[] getSubscriptions()
public void setSubscriptions(java.lang.String[] subscriptions)
subscriptions
- a list of enpoints to listen on
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |