В Camel @Produce что производит, а @Consume что потребляет?

Я считаю, что apache camel docs является неуместным и крайне самоуверенным мнением, поскольку предполагаю, что читатель уже имеет опыт работы с верблюдами.

В обычных условиях провайдер веб-сервиса является производителем, а клиент сервиса, который он производит, является потребителем.

Давайте посмотрим на http://camel.apache.org/pojo-proding.html.

Это говорит о том, что есть два разных способа отправки сообщений в Camel Endpoint.

@EndpointInjecct (uri ..) ProducerTemplate ...

Это говорит

  • Привет, я конечная точка, а это мой URI и шаблон, чтобы ударить меня, так что ударь меня

  • Или, хм ... где-то там под чистым голубым небом есть конечная точка с этим uri, и вот шаблон, который, как я полагаю, я собираюсь поразить

???

Точно так же @Produce и ProducerTemplate

  • указав, что я конечная точка, которая будет поражена?
  • или указав шаблон производителя, которого я собираюсь ударить ??

Аналогичным образом @Consume,

  • Я указываю, что являюсь потребителем?
  • Или что я уточняю, как меня будут потреблять?

И, кстати, uri в @Produce (uri) или EndpointInjection (uri)

  • я отправляю на этот адрес?
  • или получение под этим ури?

person Blessed Geek    schedule 11.07.2017    source источник
comment
Да ладно, апачи, мальчики и девочки, будьте немного понятнее в косвенном отношении.   -  person Blessed Geek    schedule 11.07.2017
comment
Когда веб-сервис размещается в Camel, он является потребителем, а не производителем. Он немного перевернут и время от времени меня ловит. При размещении веб-службы маршрут будет начинаться с (webservice) .to (....). В терминологии верблюда веб-сервис является потребителем, поскольку он принимает запрос от клиента, но также действует как производитель. Пытаюсь найти заметки по этому поводу и опубликую еще несколько, если найду их ...   -  person Namphibian    schedule 18.07.2017


Ответы (1)


В соответствии с вашими сомнениями, ниже я пытаюсь уточнить:

@EndpointInject (uri = ...) ProducerTemplate ...

Это скорее означает ваш второй вариант:

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

То есть, использует Camel API, ProducerTemplate, для отправки сообщения в другую конечную точку, определенную в uri.

Что касается @Produce и ProducerTemplate, наиболее близким предположением здесь будет

указав шаблон продюсера, которого я собираюсь поразить

Хотя технически конечную точку, указанную для попадания в uri, не следует путать с производителем в терминологии Camel, это просто конечная точка, которая в этом контексте будет называться потребителем, поскольку она получает сообщения.

Аналогично, @Consume отмечает метод как метод потребителя, то есть тот, который обрабатывает входящие сообщения конечной точки, конечная точка, указанная в uri.

Надеюсь, это поможет.

person Laszlo Sarvold    schedule 14.05.2018