1 10 11 package org.mule.routing; 12 13 import org.mule.impl.MuleEvent; 14 import org.mule.impl.RequestContext; 15 import org.mule.umo.UMOEvent; 16 import org.mule.umo.UMOException; 17 import org.mule.umo.UMOMessage; 18 import org.mule.umo.UMOSession; 19 import org.mule.umo.endpoint.UMOEndpoint; 20 import org.mule.umo.routing.ComponentRoutingException; 21 import org.mule.umo.routing.RoutingException; 22 23 30 public class ComponentCatchAllStrategy extends AbstractCatchAllStrategy 31 { 32 public void setEndpoint(UMOEndpoint endpoint) 33 { 34 throw new UnsupportedOperationException ("The endpoint cannot be set on this catch all"); 35 } 36 37 public UMOEndpoint getEndpoint() 38 { 39 return null; 40 } 41 42 public synchronized UMOMessage catchMessage(UMOMessage message, UMOSession session, boolean synchronous) 43 throws RoutingException 44 { 45 UMOEvent event = RequestContext.getEvent(); 46 try 47 { 48 event = new MuleEvent(message, event.getEndpoint(), session.getComponent(), event); 49 if (synchronous) 50 { 51 statistics.incrementRoutedMessage(event.getEndpoint()); 52 logger.info("Event being routed from catch all strategy for endpoint: " 53 + RequestContext.getEvent().getEndpoint()); 54 return session.getComponent().sendEvent(event); 55 } 56 else 57 { 58 statistics.incrementRoutedMessage(event.getEndpoint()); 59 session.getComponent().dispatchEvent(event); 60 return null; 61 } 62 } 63 catch (UMOException e) 64 { 65 throw new ComponentRoutingException(event.getMessage(), event.getEndpoint(), 66 session.getComponent(), e); 67 } 68 } 69 } 70 | Popular Tags |