Как использовать асинхронные маршруты в Apache Camel Blueprint

У меня есть маршрут, который должен быть асинхронно потреблен, и я использую прямой компонент для ссылки на него как псевдоним.

    <route id="producer_CUSTOMER_INTERACTIONS_ISSUES_RELATIONSHIPS_Topic">
        <from uri="direct:test"/>
        <pollEnrich aggregateOnException="false" id="pollEnrich1" timeout="-1">
            <constant>file:mock/customer-interactions-issues-relationships?noop=true&amp;idempotent=false</constant>
        </pollEnrich>
        <to uri="kafka:customer-interactions-issues-relationships?brokers=localhost:9092"/>
    </route>

Этот маршрут должен потребляться:

<route id="1"><from uri="timer://foo?fixedRate=true&amp;period=1&amp;repeatCount=1000"/><to uri="direct:test"/></route>
<route id="2"><from uri="timer://foo?fixedRate=true&amp;period=1&amp;repeatCount=1000"/><to uri="direct:test"/></route>
<route id="3"><from uri="timer://foo?fixedRate=true&amp;period=1&amp;repeatCount=1000"/><to uri="direct:test"/></route>
<route id="4"><from uri="timer://foo?fixedRate=true&amp;period=1&amp;repeatCount=1000"/><to uri="direct:test"/></route>

Я бы хотел, чтобы каждый потребительский маршрут запрашивал 1000x макет контента producer_CUSTOMER_INTERACTIONS_ISSUES_RLATIONSHIPS_Topicасинхронно, но сейчас он синхронен следующим образом:

введите описание изображения здесь

Я читал о компоненте SEDA в документации Camel, но нет примера о том, как использовать его в Blueprint :(

java,apache-camel,osgi,blueprint,

0

Ответов: 1


1

Чтобы помочь другим людям, которые должны сделать что-то подобное, я решил эту проблему, используя:

<route id="1"><from uri="timer://foo?fixedRate=true&amp;period=1&amp;repeatCount=1000&amp;delay=-1"/><to uri="direct:test"/></route>

Я просто добавил, delay=-1чтобы заставить его работать асинхронно.

Я действительно не знаю, подходит ли это зверю. Если у кого-то есть лучший ответ, пожалуйста, отправьте его, чтобы помочь =)

Java, апач-верблюд, OSGi, план,
Похожие вопросы
Яндекс.Метрика