0

我们有基于骆驼的应用程序。骆驼上下文文件是

<?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 属性以及线程池配置。

但是,没有一个是有效的。请建议我解决一些问题。

提前致谢。

4

0 回答 0