1
2
3
4
5
6
7
8
9
10
11 package org.mule.config.builders;
12
13 import org.mule.api.MuleContext;
14 import org.mule.api.config.MuleProperties;
15 import org.mule.api.config.ThreadingProfile;
16 import org.mule.api.model.Model;
17 import org.mule.api.registry.MuleRegistry;
18 import org.mule.config.ChainedThreadingProfile;
19 import org.mule.config.bootstrap.SimpleRegistryBootstrap;
20 import org.mule.endpoint.DefaultEndpointFactory;
21 import org.mule.model.seda.SedaModel;
22 import org.mule.retry.policies.NoRetryPolicyTemplate;
23 import org.mule.security.MuleSecurityManager;
24 import org.mule.util.DefaultStreamCloserService;
25 import org.mule.util.queue.FilePersistenceStrategy;
26 import org.mule.util.queue.QueueManager;
27 import org.mule.util.queue.TransactionalQueueManager;
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 public class DefaultsConfigurationBuilder extends AbstractConfigurationBuilder
48 {
49 protected void doConfigure(MuleContext muleContext) throws Exception
50 {
51 MuleRegistry registry = muleContext.getRegistry();
52
53
54 registry.registerObject(MuleProperties.OBJECT_MULE_SIMPLE_REGISTRY_BOOTSTRAP,
55 new SimpleRegistryBootstrap());
56
57 FilePersistenceStrategy ps = new FilePersistenceStrategy();
58 ps.setMuleContext(muleContext);
59 QueueManager queueManager = new TransactionalQueueManager();
60 queueManager.setPersistenceStrategy(ps);
61 registry.registerObject(MuleProperties.OBJECT_QUEUE_MANAGER, queueManager);
62
63 registry.registerObject(MuleProperties.OBJECT_SECURITY_MANAGER, new MuleSecurityManager());
64
65 registry.registerObject(MuleProperties.OBJECT_MULE_ENDPOINT_FACTORY, new DefaultEndpointFactory());
66 registry.registerObject(MuleProperties.OBJECT_MULE_STREAM_CLOSER_SERVICE, new DefaultStreamCloserService());
67
68 ThreadingProfile defaultThreadingProfile = new ChainedThreadingProfile();
69 registry.registerObject(MuleProperties.OBJECT_DEFAULT_THREADING_PROFILE, defaultThreadingProfile);
70 registry.registerObject(MuleProperties.OBJECT_DEFAULT_MESSAGE_RECEIVER_THREADING_PROFILE,
71 new ChainedThreadingProfile(defaultThreadingProfile));
72 registry.registerObject(MuleProperties.OBJECT_DEFAULT_MESSAGE_REQUESTER_THREADING_PROFILE,
73 new ChainedThreadingProfile(defaultThreadingProfile));
74 registry.registerObject(MuleProperties.OBJECT_DEFAULT_MESSAGE_DISPATCHER_THREADING_PROFILE,
75 new ChainedThreadingProfile(defaultThreadingProfile));
76 registry.registerObject(MuleProperties.OBJECT_DEFAULT_SERVICE_THREADING_PROFILE,
77 new ChainedThreadingProfile(defaultThreadingProfile));
78
79 registry.registerObject(MuleProperties.OBJECT_DEFAULT_RETRY_POLICY_TEMPLATE, new NoRetryPolicyTemplate());
80
81 Model systemModel = new SedaModel();
82 systemModel.setName(MuleProperties.OBJECT_SYSTEM_MODEL);
83 registry.registerModel(systemModel);
84 }
85 }