1
2
3
4
5
6
7
8
9
10
11 package org.mule.api.routing;
12
13 import org.mule.api.MessagingException;
14 import org.mule.api.MuleEvent;
15 import org.mule.api.processor.MessageProcessor;
16 import org.mule.config.i18n.CoreMessages;
17 import org.mule.config.i18n.Message;
18
19
20
21
22
23
24
25 public class RoutingException extends MessagingException
26 {
27
28
29
30 private static final long serialVersionUID = 2478458847072048645L;
31
32 protected final transient MessageProcessor route;
33
34 public RoutingException(MuleEvent event, MessageProcessor route)
35 {
36 super(generateMessage(null, route), event);
37 this.route = route;
38 }
39
40 public RoutingException(MuleEvent event, MessageProcessor route, Throwable cause)
41 {
42 super(generateMessage(null, route), event, cause);
43 this.route = route;
44 }
45
46 public RoutingException(Message message, MuleEvent event, MessageProcessor route)
47 {
48 super(generateMessage(message, route), event);
49 this.route = route;
50 }
51
52 public RoutingException(Message message, MuleEvent event, MessageProcessor route, Throwable cause)
53 {
54 super(generateMessage(message, route), event, cause);
55 this.route = route;
56 }
57
58 public MessageProcessor getRoute()
59 {
60 return route;
61 }
62
63 private static Message generateMessage(Message message, MessageProcessor target)
64 {
65 Message m = CoreMessages.failedToRouterViaEndpoint(target);
66 if (message != null)
67 {
68 message.setNextMessage(m);
69 return message;
70 }
71 else
72 {
73 return m;
74 }
75 }
76 }