Multithreading Mule VM-数据丢失/未处理VM中的所有数据

Multithreading Mule VM-数据丢失/未处理VM中的所有数据,multithreading,virtual-machine,mule,endpointbehavior,Multithreading,Virtual Machine,Mule,Endpointbehavior,Mule 3.4只创建默认的16个线程,没有采用下面代码中指定的任何配置 MaxActive=“100”未创建,它只创建16个线程并处理它们 INITIALISE_ALL也不起作用,它有一个空闲线程,当提交数据时,它创建16并执行该过程。因此,MaxIdle=2也不起作用 (使用jvisualvm进行监控) 为什么它不覆盖默认行为?我错过什么了吗 我现在面临的最关键的问题是,当我向VM提交大约28个ID时,它会处理其中的一些ID,对于剩余的ID没有任何线索,也没有具体的编号/模式。(我无法在我的

Mule 3.4只创建默认的16个线程,没有采用下面代码中指定的任何配置

  • MaxActive=“100”未创建,它只创建16个线程并处理它们
  • INITIALISE_ALL也不起作用,它有一个空闲线程,当提交数据时,它创建16并执行该过程。因此,MaxIdle=2也不起作用 (使用jvisualvm进行监控)
  • 为什么它不覆盖默认行为?我错过什么了吗

    我现在面临的最关键的问题是,当我向VM提交大约28个ID时,它会处理其中的一些ID,对于剩余的ID没有任何线索,也没有具体的编号/模式。(我无法在我的本地框中复制该问题,这种情况发生在更高的环境中,如QA、UAT框,并且它在没有上述问题的情况下工作)。请帮忙

    <flow name="Event0">
        <vm:inbound-endpoint ref="PROCESS.EVENT0" />
        <pooled-component>
            <spring-object bean="abcProcess" />
            <pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL" maxActive="100" maxIdle="2"    maxWait="20000" />
        </pooled-component>
        <custom-exception-strategy class="org.mule.exception.DefaultMessagingExceptionStrategy">
            <commit-transaction exception-pattern="*" />
            <vm:outbound-endpoint ref="ErrorHandlerInput" />
        </custom-exception-strategy>
    </flow>
    

    您正在使用的是
    DefaultMessaginExceptionStrategy
    ,上面写着:

    这是流和服务的默认异常处理程序。这个 处理程序记录错误,并将消息和异常转发给 如果在此异常策略上设置了异常终结点,则为异常终结点。如果 端点是通过元素配置的,死信队列模式是 假设,因此事务将提交。否则,交易将失败 将回滚,可能导致重新传递源消息 (视交通情况而定)


    因此,您可能应该检查日志和您似乎已配置的异常端点。

    未显示
    进程的定义。EVENT0
    ,因此我们不知道它是单向的还是请求-响应的。此外,您没有显示如何配置线程配置文件。很难帮助你。