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.endpoint.InboundEndpoint;
15 import org.mule.api.transport.MessageRequester;
16 import org.mule.api.transport.MessageRequesterFactory;
17 import org.mule.util.ClassUtils;
18
19
20
21
22
23
24
25 public abstract class AbstractMessageRequesterFactory implements MessageRequesterFactory
26 {
27
28 public AbstractMessageRequesterFactory()
29 {
30 super();
31 }
32
33
34
35
36
37
38
39
40
41 public boolean isCreateRequesterPerRequest()
42 {
43 return false;
44 }
45
46 public abstract MessageRequester create(InboundEndpoint endpoint) throws MuleException;
47
48 public void activate(InboundEndpoint endpoint, MessageRequester requester) throws MuleException
49 {
50 requester.activate();
51 }
52
53 public void destroy(InboundEndpoint endpoint, MessageRequester requester)
54 {
55 requester.dispose();
56 }
57
58 public void passivate(InboundEndpoint endpoint, MessageRequester requester)
59 {
60 requester.passivate();
61 }
62
63 public boolean validate(InboundEndpoint endpoint, MessageRequester requester)
64 {
65
66
67
68 return (!this.isCreateRequesterPerRequest() && requester.validate());
69 }
70
71 @Override
72 public String toString()
73 {
74 final StringBuffer sb = new StringBuffer(60);
75 sb.append(ClassUtils.getSimpleName(this.getClass()));
76 sb.append("{this=").append(Integer.toHexString(System.identityHashCode(this)));
77 sb.append(", createRequesterPerRequest=").append(this.isCreateRequesterPerRequest());
78 sb.append('}');
79 return sb.toString();
80 }
81
82 }