1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport;
12
13 import org.mule.api.MuleException;
14 import org.mule.api.lifecycle.Disposable;
15 import org.mule.api.lifecycle.Initialisable;
16 import org.mule.api.lifecycle.LifecycleCallback;
17 import org.mule.api.lifecycle.Startable;
18 import org.mule.api.lifecycle.Stoppable;
19 import org.mule.api.transport.Connector;
20 import org.mule.context.notification.ConnectionNotification;
21 import org.mule.lifecycle.SimpleLifecycleManager;
22
23
24
25
26
27
28
29
30 public class ConnectorLifecycleManager extends SimpleLifecycleManager<Connector>
31 {
32 public ConnectorLifecycleManager(AbstractConnector connector)
33 {
34 super(connector.getName(), connector);
35 }
36
37 @Override
38 public void fireInitialisePhase(LifecycleCallback<Connector> callback) throws MuleException
39 {
40 checkPhase(Initialisable.PHASE_NAME);
41
42 if (logger.isInfoEnabled())
43 {
44 logger.info("Initialising connector: " + getLifecycleObject().getName());
45 }
46
47
48 invokePhase(Initialisable.PHASE_NAME, getLifecycleObject(), callback);
49
50 }
51
52 @Override
53 public void fireStartPhase(LifecycleCallback<Connector> callback) throws MuleException
54 {
55 checkPhase(Startable.PHASE_NAME);
56
57 if (logger.isInfoEnabled())
58 {
59 logger.info("Starting connector: " + getLifecycleObject().getName());
60 }
61
62
63 invokePhase(Startable.PHASE_NAME, getLifecycleObject(), callback);
64
65 }
66
67 @Override
68 public void fireStopPhase(LifecycleCallback<Connector> callback) throws MuleException
69 {
70 checkPhase(Stoppable.PHASE_NAME);
71 if (logger.isInfoEnabled())
72
73 {
74 logger.info("Stopping connector: " + getLifecycleObject().getName());
75 }
76
77
78 invokePhase(Stoppable.PHASE_NAME, getLifecycleObject(), callback);
79
80 }
81
82 @Override
83 public void fireDisposePhase(LifecycleCallback<Connector> callback) throws MuleException
84 {
85 checkPhase(Disposable.PHASE_NAME);
86
87 if (logger.isInfoEnabled())
88 {
89 logger.info("Disposing connector: " + getLifecycleObject().getName());
90 }
91
92
93 invokePhase(Disposable.PHASE_NAME, getLifecycleObject(), callback);
94
95 }
96
97 protected void fireNotification(int action)
98 {
99 getLifecycleObject().getMuleContext().fireNotification(
100 new ConnectionNotification(getLifecycleObject(), getLifecycleObject().getName(), action));
101 }
102 }