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.MuleException; |
15 | |
import org.mule.api.config.MuleProperties; |
16 | |
import org.mule.api.config.ThreadingProfile; |
17 | |
import org.mule.api.model.Model; |
18 | |
import org.mule.api.registry.Registry; |
19 | |
import org.mule.config.ChainedThreadingProfile; |
20 | |
import org.mule.config.bootstrap.SimpleRegistryBootstrap; |
21 | |
import org.mule.endpoint.DefaultEndpointFactory; |
22 | |
import org.mule.model.seda.SedaModel; |
23 | |
import org.mule.security.MuleSecurityManager; |
24 | |
import org.mule.transport.SingleAttemptConnectionStrategy; |
25 | |
import org.mule.util.DefaultStreamCloserService; |
26 | |
import org.mule.util.queue.FilePersistenceStrategy; |
27 | |
import org.mule.util.queue.QueueManager; |
28 | |
import org.mule.util.queue.TransactionalQueueManager; |
29 | |
|
30 | |
|
31 | |
|
32 | |
|
33 | |
|
34 | |
|
35 | |
|
36 | |
|
37 | |
|
38 | |
|
39 | |
|
40 | |
|
41 | |
|
42 | |
|
43 | |
|
44 | |
|
45 | |
|
46 | |
|
47 | |
|
48 | 1146 | public class DefaultsConfigurationBuilder extends AbstractConfigurationBuilder |
49 | |
{ |
50 | |
|
51 | |
protected void doConfigure(MuleContext muleContext) throws Exception |
52 | |
{ |
53 | 1146 | configureDefaults(muleContext.getRegistry()); |
54 | 1146 | } |
55 | |
|
56 | |
protected void configureDefaults(Registry registry) throws MuleException |
57 | |
{ |
58 | 1146 | registry.registerObject(MuleProperties.OBJECT_MULE_SIMPLE_REGISTRY_BOOTSTRAP, |
59 | |
new SimpleRegistryBootstrap()); |
60 | |
|
61 | 1146 | QueueManager queueManager = new TransactionalQueueManager(); |
62 | 1146 | queueManager.setPersistenceStrategy(new FilePersistenceStrategy()); |
63 | 1146 | registry.registerObject(MuleProperties.OBJECT_QUEUE_MANAGER, queueManager); |
64 | |
|
65 | 1146 | registry.registerObject(MuleProperties.OBJECT_SECURITY_MANAGER, new MuleSecurityManager()); |
66 | |
|
67 | 1146 | registry.registerObject(MuleProperties.OBJECT_MULE_ENDPOINT_FACTORY, new DefaultEndpointFactory()); |
68 | 1146 | registry.registerObject(MuleProperties.OBJECT_MULE_STREAM_CLOSER_SERVICE, new DefaultStreamCloserService()); |
69 | |
|
70 | 1146 | ThreadingProfile defaultThreadingProfile = new ChainedThreadingProfile(); |
71 | 1146 | defaultThreadingProfile.setThreadWaitTimeout(30); |
72 | 1146 | defaultThreadingProfile.setMaxThreadsActive(10); |
73 | 1146 | defaultThreadingProfile.setMaxThreadsIdle(10); |
74 | 1146 | defaultThreadingProfile.setMaxBufferSize(0); |
75 | 1146 | defaultThreadingProfile.setThreadTTL(60000); |
76 | 1146 | defaultThreadingProfile.setPoolExhaustedAction(ThreadingProfile.WHEN_EXHAUSTED_RUN); |
77 | 1146 | registry.registerObject(MuleProperties.OBJECT_DEFAULT_THREADING_PROFILE, defaultThreadingProfile); |
78 | 1146 | registry.registerObject(MuleProperties.OBJECT_DEFAULT_MESSAGE_RECEIVER_THREADING_PROFILE, |
79 | |
new ChainedThreadingProfile(defaultThreadingProfile)); |
80 | 1146 | registry.registerObject(MuleProperties.OBJECT_DEFAULT_MESSAGE_REQUESTER_THREADING_PROFILE, |
81 | |
new ChainedThreadingProfile(defaultThreadingProfile)); |
82 | 1146 | registry.registerObject(MuleProperties.OBJECT_DEFAULT_MESSAGE_DISPATCHER_THREADING_PROFILE, |
83 | |
new ChainedThreadingProfile(defaultThreadingProfile)); |
84 | 1146 | registry.registerObject(MuleProperties.OBJECT_DEFAULT_COMPONENT_THREADING_PROFILE, |
85 | |
new ChainedThreadingProfile(defaultThreadingProfile)); |
86 | |
|
87 | 1146 | registry.registerObject(MuleProperties.OBJECT_DEFAULT_CONNECTION_STRATEGY, new SingleAttemptConnectionStrategy()); |
88 | |
|
89 | 1146 | Model systemModel = new SedaModel(); |
90 | 1146 | systemModel.setName(MuleProperties.OBJECT_SYSTEM_MODEL); |
91 | 1146 | registry.registerModel(systemModel); |
92 | 1146 | } |
93 | |
} |