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());
-                }
-            }
-        }
-    }
 }


Reply via email to