1
2
3
4
5
6
7
8
9
10
11 package org.mule.providers;
12
13 import org.mule.config.i18n.CoreMessages;
14 import org.mule.umo.UMOException;
15 import org.mule.umo.endpoint.UMOImmutableEndpoint;
16 import org.mule.umo.provider.UMOMessageDispatcher;
17 import org.mule.umo.provider.UMOMessageDispatcherFactory;
18
19 import org.apache.commons.pool.KeyedPoolableObjectFactory;
20
21
22
23
24
25
26
27
28
29 public class KeyedPoolMessageDispatcherFactoryAdapter
30 implements UMOMessageDispatcherFactory, KeyedPoolableObjectFactory
31 {
32 private final UMOMessageDispatcherFactory factory;
33
34 public KeyedPoolMessageDispatcherFactoryAdapter(UMOMessageDispatcherFactory factory)
35 {
36 super();
37
38 if (factory == null)
39 {
40 throw new IllegalArgumentException(CoreMessages.objectIsNull("factory").toString());
41 }
42
43 this.factory = factory;
44 }
45
46 public void activateObject(Object key, Object obj) throws Exception
47 {
48 factory.activate((UMOImmutableEndpoint) key, (UMOMessageDispatcher) obj);
49 }
50
51 public void destroyObject(Object key, Object obj) throws Exception
52 {
53 factory.destroy((UMOImmutableEndpoint) key, (UMOMessageDispatcher) obj);
54 }
55
56 public Object makeObject(Object key) throws Exception
57 {
58 return factory.create((UMOImmutableEndpoint) key);
59 }
60
61 public void passivateObject(Object key, Object obj) throws Exception
62 {
63 factory.passivate((UMOImmutableEndpoint) key, (UMOMessageDispatcher) obj);
64 }
65
66 public boolean validateObject(Object key, Object obj)
67 {
68 return factory.validate((UMOImmutableEndpoint) key, (UMOMessageDispatcher) obj);
69 }
70
71 public boolean isCreateDispatcherPerRequest()
72 {
73 return factory.isCreateDispatcherPerRequest();
74 }
75
76 public UMOMessageDispatcher create(UMOImmutableEndpoint endpoint) throws UMOException
77 {
78 return factory.create(endpoint);
79 }
80
81 public void activate(UMOImmutableEndpoint endpoint, UMOMessageDispatcher dispatcher) throws UMOException
82 {
83 factory.activate(endpoint, dispatcher);
84 }
85
86 public void destroy(UMOImmutableEndpoint endpoint, UMOMessageDispatcher dispatcher)
87 {
88 factory.destroy(endpoint, dispatcher);
89 }
90
91 public void passivate(UMOImmutableEndpoint endpoint, UMOMessageDispatcher dispatcher)
92 {
93 factory.passivate(endpoint, dispatcher);
94 }
95
96 public boolean validate(UMOImmutableEndpoint endpoint, UMOMessageDispatcher dispatcher)
97 {
98 return factory.validate(endpoint, dispatcher);
99 }
100
101 }