这是我配置为测试一个线程的内容,但是即使将其限制为0个线程也无法工作。该请求仍未被阻止。
<configuration doc:name="Configuration">
<default-threading-profile maxThreadsActive="1"
maxThreadsIdle="0" threadTTL="1000" poolExhaustedAction="DISCARD"
maxBufferSize="1" threadWaitTimeout="1000" />
<default-dispatcher-threading-profile maxThreadsActive="1"
maxThreadsIdle="0" threadTTL="1000" poolExhaustedAction="DISCARD"
maxBufferSize="1" threadWaitTimeout="1000" />
<default-receiver-threading-profile maxThreadsActive="1"
maxThreadsIdle="0" threadTTL="1000" poolExhaustedAction="DISCARD"
maxBufferSize="1" threadWaitTimeout="1000" />
</configuration>
我正在尝试为来自流中的http组件的请求实现池化。我想限制传入请求,10作为示例,如果超过限制,则丢弃/选择其他请求。
我对任何其他建议持开放态度,因为我的目标是汇集线程,因为我向请求方公开了流,转换并转发给第三方。
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="7619" responseTimeout="2000" doc:name="HTTP-Intake">
</http:inbound-endpoint>
<echo-component doc:name="Echo"/>
<custom-transformer class="transformers.XmlMapper" doc:name="Initializer">
<spring:property name="sessionBean" ref="SessionBean"/>
</custom-transformer>
<choice doc:name="Choice">
<when expression="/COMMAND/interfaceId='PRE'" evaluator="xpath">
<flow-ref name="xml-to-servlet" doc:name="xml-to-servlet"/>
</when>
<otherwise>
<custom-transformer class="exceptionhandlers.KnownExceptionHandler" doc:name="Exception Handler">
<spring:property name="errorCode" value="404"/>
<spring:property name="errorMessage" value="Route Not Found"/>
</custom-transformer>
<custom-transformer returnClass="java.lang.String" class="transformers.generic.MapToTemplate" doc:name="Map to Template">
<spring:property name="sessionBean" ref="SessionBean"/>
<spring:property name="fixedTemplatePath" value="templates/Response.xml"/>
</custom-transformer>
</otherwise>
</choice>
<catch-exception-strategy doc:name="Catch Exception Strategy">
<custom-transformer class="exceptionhandlers.GenericExceptionHander" doc:name="Exception Handler"/>
<custom-transformer returnClass="java.lang.String" class="transformers.MapToTemplate" doc:name="Map to Template">
<spring:property name="sessionBean" ref="SessionBean"/>
<spring:property name="fixedTemplatePath" value="templates/Response.xml"/>
</custom-transformer>
<custom-transformer class="logging.TDRLogsGenerator" doc:name="TDR Logs"/>
<custom-transformer class="exceptionhandlers.AmbigousLogGenerator" doc:name="AmbiguosLogs"/>
<echo-component doc:name="Echo"/>
</catch-exception-strategy>
</flow>
<sub-flow name="xml-to-servlet" doc:name="xml-to-servlet">
<custom-transformer class="transformers.InputXmlToMap" doc:name="InputXmlToMap">
<spring:property name="sessionBean" ref="SessionBean"/>
</custom-transformer>
<custom-transformer class="generic.SetSessionObjects" doc:name="SetSessionObjects">
<spring:property name="type" value="request"/>
<spring:property name="sessionBean" ref="SessionBean"/>
</custom-transformer>
<custom-transformer class="generic.MapToTemplate" doc:name="MapToTemplate">
<spring:property name="sessionBean" ref="SessionBean"/>
</custom-transformer>
<custom-transformer class="logging.LogTime" doc:name="Logging">
<spring:property name="state" value="SEND_TIME"/>
</custom-transformer>
<set-variable value="#[payload]" variableName="payloadbeforecall" doc:name="Variable" />
<until-successful maxRetries="5" doc:name="Until Successful" millisBetweenRetries="8000" synchronous="true">
<http:outbound-endpoint exchange-pattern="request-response" method="POST" address="http://localhost:8080/Xml_Servlet_Simulator/XmlServlet" responseTimeout="3000" doc:name="HTTP">
<set-payload value="#[flowVars.?payloadbeforecall]" doc:name="Set Payload"/>
<set-property propertyName="eig_requestId" value="#[sessionVars.REQUEST_ID]"/>
</http:outbound-endpoint>
</until-successful>
<custom-transformer class="logging.LogTime" doc:name="Logging">
<spring:property name="state" value="RECIEVE_TIME"/>
</custom-transformer>
<message-filter throwOnUnaccepted="true" doc:name="Message">
<expression-filter expression="#[payload!='']" />
</message-filter>
<custom-transformer class="generic.InputXmlToMap" doc:name="InputXmlToMap">
<spring:property name="sessionBean" ref="SessionBean"/>
</custom-transformer>
<custom-transformer class="generic.SetSessionObjects" doc:name="SetSessionObjects">
<spring:property name="type" value="response"/>
<spring:property name="sessionBean" ref="SessionBean"/>
</custom-transformer>
<custom-transformer class="generic.MapToTemplate" doc:name="MapToTemplate">
<spring:property name="sessionBean" ref="SessionBean"/>
</custom-transformer>
</sub-flow>