Не получать новейшую информацию из таблицы (receientList) - PullRequest
0 голосов
/ 15 марта 2020

Я использую Apache Верблюд с различными маршрутами, работающими внутри КОНТЕЙНЕРА.

У меня проблемы с этим маршрутом: getSalesNumber , который получает номер продажи для указанного c человек. Проблема в том, что этот маршрут читает содержимое таблицы с именем TABLE_AGENT_MAIL , и если я вставлю новую строку в эту таблицу, маршрут не будет читать ее, и мне придется перезапустить контейнер, чтобы он заработал.

Это маршрут:

<route id="getSalesNumber">
    <from uri="direct:getSalesNumber"/>
    <setHeader headerName="AGENT_ID">
        <simple>${body.agent_id}</simple>
    </setHeader>
    <log message="Searching agent code for order #${headers.WEB_ORDER.increment_id} - agent_id: ${headers.AGENT_ID}"/>
    <recipientList>
        <simple>sqlServer:SELECT AGENT_CODE FROM TABLE_AGENT_MAIL WHERE EMAIL=:#AGENT_ID?outputType=SelectOne</simple>
    </recipientList>
    <setHeader headerName="SALES_REP_NUM">
        <simple>${body}</simple>
    </setHeader>
    <log message="Sales Representative number: ${body}" loggingLevel="DEBUG" />
</route>

Маршрут называется здесь:

 <route autoStartup="true" id="TaxCalculator">
        <from uri="direct:calculateTAXEBSOrder"/>
        <doTry>
            <to uri="direct:getSalesNumber" />
            <to uri="direct:getPriceListName" />
            <to uri="spCreateProcessor"/>
            <log message="${body}" />
            <to uri="spTaxParametersProcessor"/>
            <log message="${body}" />
            <to uri="mybatis:calcOrderTax?statementType=SelectOne"/>
            <log message="${body}" />
            <doCatch>
                <exception>java.lang.Exception</exception>
                <log message="${exception.message}" />
                <setHeader headerName="Exchange.HTTP_RESPONSE_CODE">
                    <constant>500</constant>
                </setHeader>
                <setHeader headerName="exception.message">
                    <simple>${exception.message}</simple>
                </setHeader>
            </doCatch>
        </doTry>
        <to uri="spEbsTaxResponseProcessor"/>
        <setHeader headerName="correlationId">
            <constant>ORDER</constant>
        </setHeader>
    </route>

Почему это происходит? Зачем мне перезапускать контейнер?

Я думал о создании Dynami c receientList , но мне не удалось.

Не могли бы вы помочь мне исправить это? Это раздражает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...