Author: asanka
Date: Sun Mar 15 06:05:52 2009
New Revision: 754622
URL: http://svn.apache.org/viewvc?rev=754622&view=rev
Log:
Move the event dispatching to eventsource, eventpublisher mediator invoke the
public method.
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eventing/EventPublisherMediator.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java?rev=754622&r1=754621&r2=754622&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/eventing/SynapseEventSource.java
Sun Mar 15 06:05:52 2009
@@ -251,14 +251,7 @@
if (log.isDebugEnabled()) {
log.debug("Event recived");
}
- List<SynapseSubscription> subscribers =
subscriptionManager.getMatchingSubscribers(smc);
- for (SynapseSubscription subscription : subscribers) {
- smc.setProperty(SynapseConstants.OUT_ONLY, "true"); // Set
one way message for events
-
subscription.getEndpoint().send(MessageHelper.cloneMessageContext(smc));
- if (log.isDebugEnabled()) {
- log.debug("Event push to : " +
subscription.getEndpointUrl());
- }
- }
+ dispatchEvents(smc);
}
}
@@ -287,4 +280,41 @@
AxisEngine.send(rmc);
}
}
+
+ /**
+ *
+ * @param msgCtx message context
+ */
+ public void dispatchEvents(org.apache.synapse.MessageContext msgCtx){
+ List<SynapseSubscription> subscribers =
subscriptionManager.getMatchingSubscribers(msgCtx);
+ // Call event dispatcher
+ msgCtx.getEnvironment().getExecutorService()
+ .execute(new EventDispatcher(msgCtx, subscribers));
+ }
+ /**
+ * Dispatching events async on a different thread
+ */
+ class EventDispatcher implements Runnable {
+ org.apache.synapse.MessageContext synCtx;
+ List<SynapseSubscription> subscribers;
+
+ EventDispatcher(org.apache.synapse.MessageContext synCtx,
List<SynapseSubscription> subscribers) {
+ this.synCtx = synCtx;
+ this.subscribers = subscribers;
+ }
+
+ public void run() {
+ for (SynapseSubscription subscription : subscribers) {
+ synCtx.setProperty(SynapseConstants.OUT_ONLY, "true"); //
Set one way message for events
+ try {
+
subscription.getEndpoint().send(MessageHelper.cloneMessageContext(synCtx));
+ } catch (AxisFault axisFault) {
+ log.error("Event sending failure " + axisFault.toString());
+ }
+ if (log.isDebugEnabled()) {
+ log.debug("Event push to : " +
subscription.getEndpointUrl());
+ }
+ }
+ }
+ }
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eventing/EventPublisherMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eventing/EventPublisherMediator.java?rev=754622&r1=754621&r2=754622&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eventing/EventPublisherMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eventing/EventPublisherMediator.java
Sun Mar 15 06:05:52 2009
@@ -40,11 +40,7 @@
log.debug("Mediation for Event Publisher started");
}
SynapseEventSource eventSource =
synCtx.getConfiguration().getEventSource(eventSourceName);
- SynapseSubscriptionManager subscriptionManager =
eventSource.getSubscriptionManager();
- List<SynapseSubscription> subscribers =
subscriptionManager.getMatchingSubscribers(synCtx);
- // Call event dispatcher
- synCtx.getEnvironment().getExecutorService()
- .execute(new EventDispatcher(synCtx, subscribers));
+ eventSource.dispatchEvents(synCtx);
return true;
}
@@ -56,30 +52,4 @@
this.eventSourceName = eventSourceName;
}
- /**
- * Dispatching events async on a different thread
- */
- class EventDispatcher implements Runnable {
- MessageContext synCtx;
- List<SynapseSubscription> subscribers;
-
- EventDispatcher(MessageContext synCtx, List<SynapseSubscription>
subscribers) {
- this.synCtx = synCtx;
- this.subscribers = subscribers;
- }
-
- public void run() {
- for (SynapseSubscription subscription : subscribers) {
- synCtx.setProperty(SynapseConstants.OUT_ONLY, "true"); //
Set one way message for events
- try {
-
subscription.getEndpoint().send(MessageHelper.cloneMessageContext(synCtx));
- } catch (AxisFault axisFault) {
- log.error("Event sending failure " + axisFault.toString());
- }
- if (log.isDebugEnabled()) {
- log.debug("Event push to : " +
subscription.getEndpointUrl());
- }
- }
- }
- }
}