I am trying to set a thread pool size to a number greater than the number of cores of the machine I'm testing my Mule app on.
<vm:connector name="persistent" doc:name="VM"> <receiver-threading-profile maxThreadsActive="64" poolExhaustedAction="WAIT" threadWaitTimeout="-1"/> <vm:queue-profile maxOutstandingMessages="5000"> <default-persistent-queue-store/> </vm:queue-profile> </vm:connector>
Eventually, what I see is that Mule caps the number of threads to the number of cores of my machine. Even If I try to set the default pool size in a general configuration element, I still get the same limitation.
<configuration doc:name="Configuration"> <default-threading-profile maxThreadsActive="64" maxThreadsIdle="32"/> </configuration>
This is what happens (my machine has 4 cores)
INFO 2014-11-11 11:12:22,023 [[App-1.0].persistent.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Order 21036 INFO 2014-11-11 11:12:22,025 [[App-1.0].persistent.receiver.01] org.mule.api.processor.LoggerMessageProcessor: Order 21037 INFO 2014-11-11 11:12:22,030 [[App-1.0].persistent.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Order > 6 21038 INFO 2014-11-11 11:12:23,040 [[App-1.0].persistent.receiver.04] org.mule.api.processor.LoggerMessageProcessor: Order 21040 INFO 2014-11-11 11:12:23,040 [[App-1.0].persistent.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Order 21039 INFO 2014-11-11 11:12:23,041 [[App-1.0].persistent.receiver.01] org.mule.api.processor.LoggerMessageProcessor: Order > 6 21041 INFO 2014-11-11 11:12:23,043 [[App-1.0].persistent.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Order 21042 INFO 2014-11-11 11:12:24,060 [[App-1.0].persistent.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Order < 3 27 INFO 2014-11-11 11:12:24,061 [[App-1.0].persistent.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Order 24 INFO 2014-11-11 11:12:24,062 [[App-1.0].persistent.receiver.01] org.mule.api.processor.LoggerMessageProcessor: Order > 6 26 INFO 2014-11-11 11:12:24,063 [[App-1.0].persistent.receiver.04] org.mule.api.processor.LoggerMessageProcessor: Order 23 INFO 2014-11-11 11:12:25,081 [[App-1.0].persistent.receiver.04] org.mule.api.processor.LoggerMessageProcessor: Order > 6 29 INFO 2014-11-11 11:12:25,083 [[App-1.0].persistent.receiver.01] org.mule.api.processor.LoggerMessageProcessor: Order < 3 28 INFO 2014-11-11 11:12:25,090 [[App-1.0].persistent.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Order > 6 30 INFO 2014-11-11 11:12:25,092 [[App-1.0].persistent.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Order 31 INFO 2014-11-11 11:12:26,099 [[App-1.0].persistent.receiver.04] org.mule.api.processor.LoggerMessageProcessor: Order > 6 32 INFO 2014-11-11 11:12:26,103 [[App-1.0].persistent.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Order 33 INFO 2014-11-11 11:12:26,103 [[App-1.0].persistent.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Order < 3 34 INFO 2014-11-11 11:12:26,105 [[App-1.0].persistent.receiver.01] org.mule.api.processor.LoggerMessageProcessor: Order 35 INFO 2014-11-11 11:12:27,118 [[App-1.0].persistent.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Order < 3 41 INFO 2014-11-11 11:12:27,119 [[App-1.0].persistent.receiver.04] org.mule.api.processor.LoggerMessageProcessor: Order > 6 40 INFO 2014-11-11 11:12:27,122 [[App-1.0].persistent.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Order < 3 42 INFO 2014-11-11 11:12:27,125 [[App-1.0].persistent.receiver.01] org.mule.api.processor.LoggerMessageProcessor: Order 43
How do I actually increase the receiver thread pool size to 64?