Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多线程池大小上限_Java_Multithreading_Mule - Fatal编程技术网

Java 多线程池大小上限

Java 多线程池大小上限,java,multithreading,mule,Java,Multithreading,Mule,我正在尝试将线程池大小设置为大于我正在测试Mule应用程序的机器的内核数 <vm:connector name="persistent" doc:name="VM"> <receiver-threading-profile maxThreadsActive="64" poolExhaustedAction="WAIT" threadWaitTimeout="-1"/> <vm:queue-profile maxO

我正在尝试将线程池大小设置为大于我正在测试Mule应用程序的机器的内核数

<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>

最终,我看到Mule将线程数限制为我机器的内核数。即使我尝试在常规配置元素中设置默认池大小,我仍然会受到相同的限制

<configuration doc:name="Configuration">
    <default-threading-profile maxThreadsActive="64" maxThreadsIdle="32"/>
</configuration>

这就是发生的情况(我的机器有4个内核)

INFO 2014-11-11 11:12:22023[[App-1.0]。persistent.receiver.03]org.mule.api.processor.LoggerMessageProcessor:订单21036
INFO 2014-11-11 11:12:22025[[App-1.0].persistent.receiver.01]org.mule.api.processor.LoggerMessageProcessor:订单21037
INFO 2014-11-11 11:12:22030[[App-1.0].persistent.receiver.02]org.mule.api.processor.LoggerMessageProcessor:Order>621038
INFO 2014-11-11 11:12:23040[[App-1.0].persistent.receiver.04]org.mule.api.processor.LoggerMessageProcessor:订单21040
INFO 2014-11-11 11:12:23040[[App-1.0].persistent.receiver.03]org.mule.api.processor.LoggerMessageProcessor:订单21039
INFO 2014-11-11 11:12:23041[[App-1.0].persistent.receiver.01]org.mule.api.processor.LoggerMessageProcessor:Order>621041
INFO 2014-11-11 11:12:23043[[App-1.0].persistent.receiver.02]org.mule.api.processor.LoggerMessageProcessor:订单21042
INFO 2014-11-11 11:12:24060[[App-1.0].persistent.receiver.02]org.mule.api.processor.LoggerMessageProcessor:订单<3 27
INFO 2014-11-11 11:12:24061[[App-1.0].persistent.receiver.03]org.mule.api.processor.LoggerMessageProcessor:订单24
INFO 2014-11-11 11:12:24062[[App-1.0].persistent.receiver.01]org.mule.api.processor.LoggerMessageProcessor:Order>6 26
INFO 2014-11-11 11:12:24063[[App-1.0].persistent.receiver.04]org.mule.api.processor.LoggerMessageProcessor:订单23
INFO 2014-11-11 11:12:25081[[App-1.0].persistent.receiver.04]org.mule.api.processor.LoggerMessageProcessor:Order>6 29
INFO 2014-11-11 11:12:25083[[App-1.0].persistent.receiver.01]org.mule.api.processor.LoggerMessageProcessor:订单<3 28
INFO 2014-11-11 11:12:25090[[App-1.0].persistent.receiver.03]org.mule.api.processor.LoggerMessageProcessor:Order>6 30
INFO 2014-11-11 11:12:25092[[App-1.0].persistent.receiver.02]org.mule.api.processor.LoggerMessageProcessor:订单31
INFO 2014-11-11 11:12:26099[[App-1.0].persistent.receiver.04]org.mule.api.processor.LoggerMessageProcessor:Order>6 32
INFO 2014-11-11 11:12:26103[[App-1.0]。persistent.receiver.03]org.mule.api.processor.LoggerMessageProcessor:订单33
INFO 2014-11-11 11:12:26103[[App-1.0]。persistent.receiver.02]org.mule.api.processor.LoggerMessageProcessor:订单<3 34
INFO 2014-11-11 11:12:26105[[App-1.0].persistent.receiver.01]org.mule.api.processor.LoggerMessageProcessor:订单35
INFO 2014-11-11 11:12:27118[[App-1.0].persistent.receiver.03]org.mule.api.processor.LoggerMessageProcessor:订单<3 41
INFO 2014-11-11 11:12:27119[[App-1.0].persistent.receiver.04]org.mule.api.processor.LoggerMessageProcessor:Order>6 40
INFO 2014-11-11 11:12:27122[[App-1.0].persistent.receiver.02]org.mule.api.processor.LoggerMessageProcessor:订单<3 42
INFO 2014-11-11 11:12:27125[[App-1.0]。persistent.receiver.01]org.mule.api.processor.LoggerMessageProcessor:订单43

如何将接收器线程池的大小增加到64?

还有另一个名为NumberOfConcurrentTransactivedReceiver的参数,不知怎么隐藏了它。我在Mule doc网站的任何地方都找不到它,甚至在Dossot的书中也找不到。以下配置为我实现了这一目的:

<vm:connector
    name="order.vm.connector"
    createMultipleTransactedReceivers="true"
    numberOfConcurrentTransactedReceivers="64" >

    <receiver-threading-profile
        maxThreadsActive="64"
        poolExhaustedAction="WAIT"
        threadWaitTimeout="-1" />

    <vm:queue-profile maxOutstandingMessages="4096">
        <default-persistent-queue-store />
    </vm:queue-profile>

</vm:connector>

<vm:endpoint
    exchange-pattern="one-way"
    name="order.vm.endpoint"
    path="order.vm"
    connector-ref="order.vm.connector" />

<vm:connector
    name="order.vm.connector"
    createMultipleTransactedReceivers="true"
    numberOfConcurrentTransactedReceivers="64" >

    <receiver-threading-profile
        maxThreadsActive="64"
        poolExhaustedAction="WAIT"
        threadWaitTimeout="-1" />

    <vm:queue-profile maxOutstandingMessages="4096">
        <default-persistent-queue-store />
    </vm:queue-profile>

</vm:connector>

<vm:endpoint
    exchange-pattern="one-way"
    name="order.vm.endpoint"
    path="order.vm"
    connector-ref="order.vm.connector" />