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)
Спасибо!