Mule Standalone 3.8.1 ClassDefNotFoundError在高并发性下发送具有大负载的HTTP请求流时

时间:2017-06-01 12:00:19

标签: java multithreading mule anypoint-studio

我对MuleESB很新。我正在使用 Mule Standalone 3.8.1 ,并使用 xpath3()功能来过滤HTTP请求。我使用的配置如下。

  

<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8081" />
<http:request-config name="HTTP_Request_Configuration" host="example.com" port="8081" basePath="basePath" responseTimeout="120000" />

<custom-transformer name="XML_Transformer" class="org.mule.module.xml.transformer.XmlToOutputHandler"/>

<message-properties-transformer name="Response_Error_Transformer">
  <add-message-property key="http.status" value="500"/>
  <add-message-property key="Content-Type" value="text/xml" />
</message-properties-transformer>

<message-properties-transformer name="Response_Transformer">
  <add-message-property key="Content-Type" value="text/xml" />
</message-properties-transformer>

<set-payload name="Create_Error_Response" value="
  &lt;PurchaseOrder PurchaseOrderNumber=&quot;99503&quot; OrderDate=&quot;1999-10-20&quot;&gt;
    &lt;fault&gt;
      &lt;code&gt;500&lt;/code&gt;
      &lt;message&gt;#[flowVars['errorMessage']]&lt;/message&gt;
    &lt;/fault&gt;
  &lt;/PurchaseOrder&gt;" />

<flow name="Choice_Flow">
  <http:listener config-ref="HTTP_Listener_Configuration" path="productFilter" />
  <choice>
    <when expression="#[xpath3('//Item[1]/ProductName') == 'Laptop']">
      <transformer ref="XML_Transformer"/>
      <http:request config-ref="HTTP_Request_Configuration" path="EchoService" method="POST" />
      <flow-ref name="Response_Transformer" />
    </when>

    <otherwise>
      <flow-ref name="Response_Error_Transformer" />
      <set-variable variableName="errorMessage" value="First item must be a Laptop" />
      <flow-ref name="Create_Error_Response" />
    </otherwise>
  </choice>
</flow>

当我在10个线程发送HTTP请求时,它工作正常。但是,当我尝试在500个线程上发送请求时,一些请求失败了。该请求是一个包含2500个 Item 元素的XML。我没有在日志或任何地方看到任何描述性错误,但请求失败了。发生这种情况后,即使对于小线程数,某些请求也会失败,我在日志目录中的文件中找不到任何错误。我在 mule.log 文件中看到的错误如下所示。这是在第一次出现此错误时写入的。然后,简单地说,没有。

Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "[default].http.listener(6)"

有人可以解释一下这里发生了什么吗?怎么做没有任何错误?我的配置有问题吗?

0 个答案:

没有答案