You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by as...@apache.org on 2009/03/15 07:05:53 UTC

svn commit: r754622 - in /synapse/trunk/java/modules/core/src/main/java/org/apache/synapse: eventing/SynapseEventSource.java mediators/eventing/EventPublisherMediator.java

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