我们有基于骆驼的应用程序。骆驼上下文文件是
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:camel="http://camel.apache.org/schema/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<camelContext id="CamelContext" xmlns="http://camel.apache.org/schema/spring" autoStartup="true">
<properties>
<property key="http.keepAlive" value="true"/>
</properties>
<threadPoolProfile id="profile"
defaultProfile="true"
keepAliveTime="30"
maxPoolSize="1500"
rejectedPolicy="DiscardOldest"
poolSize="1000"></threadPoolProfile>
<onException>
<exception>com.fasterxml.jackson.databind.exc.InvalidFormatException</exception>
<redeliveryPolicy maximumRedeliveries="0"/>
<handled>
<constant>true</constant>
</handled>
<to uri="bean:jacksonMappingExceptionHandler" />
<process ref="httpResponseTransformer"/>
</onException>
<restConfiguration component="jetty" bindingMode="json" contextPath="/app" port="9886" apiContextPath="/v1/api-doc" enableCORS="true">
<dataFormatProperty key="include" value="NON_NULL"></dataFormatProperty>
<apiProperty key="api.title" value="Application Service"/>
<apiProperty key="api.version" value="1.0.0"/>
<apiProperty key="cors" value="true"/>
</restConfiguration>
<!-- defines the rest services using the context-path /api -->
<rest path="/v1/abc" consumes="application/json" produces="application/json">
<description>Abc</description>
<post type="com.Request" outType="com.Response">
<to uri="direct-vm:JettyHttp"/>
</post>
</rest>
<rest path="/api/status" produces="application/json">
<description>Application Status</description>
<get outType="com.StatusResponse">
<description>Get Status</description>
<to uri="direct-vm:status"/>
</get>
</rest>
</camelContext>
</beans>
一些配置正在从数据库中加载。由于安全原因,我将无法在此处发布完整代码。
我们编写了自动化脚本来根据要求检查验证。在单一规格中,我们有超过 200 个场景。
问题:在向 uri 发出一定数量的 http 请求后,应用程序停止响应。我在 CamelContext 中添加了 keepAlive 属性以及线程池配置。
但是,没有一个是有效的。请建议我解决一些问题。
提前致谢。