1
2
3
4
5
6
7
8
9
10
11 package org.mule.construct.processor;
12
13 import org.mule.api.MuleEvent;
14 import org.mule.api.construct.FlowConstruct;
15 import org.mule.api.construct.FlowConstructAware;
16 import org.mule.processor.AbstractMessageObserver;
17
18 public class FlowConstructStatisticsMessageObserver extends AbstractMessageObserver
19 implements FlowConstructAware
20 {
21 protected FlowConstruct flowConstruct;
22
23 @Override
24 public void observe(MuleEvent event)
25 {
26 if (flowConstruct.getStatistics().isEnabled())
27 {
28 if (event.getEndpoint().getExchangePattern().hasResponse())
29 {
30 flowConstruct.getStatistics().incReceivedEventSync();
31 }
32 else
33 {
34 flowConstruct.getStatistics().incReceivedEventASync();
35 }
36 }
37 }
38
39 public void setFlowConstruct(FlowConstruct flowConstruct)
40 {
41 this.flowConstruct = flowConstruct;
42 }
43 }