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