Camel ProducerTemplate requestБод и тип возврата - PullRequest
0 голосов
/ 19 января 2020

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

AType response = producer.requestBody(nonNullBody, AType.class);

Это не сработает:

//cause ambiguous type error 
AType response = producer.requestBody(null, AType.class); 

//Unsupported method signature
AType response = producer.requestBody(AType.class); 

Есть ли разворот, кроме передачи параметра фиктивного тела?

Кроме того, есть ли способ использовать Collection как AType, без приведения результата? Я попытался обернуть его в другой объект, и он не работает.

Примечания

На данный момент я использую producer.requestBody(null), за которым следует уродливое приведение. Было бы здорово, если бы мы могли вместо этого сделать producer.requestBody().

К сожалению, Camel не поддерживает более одного параметра тела, что также было бы очень полезно, например:

requestBody(String.. args, Class<T> type)

Спасибо!

...