Ich habe eine Frage, wie eine Bohne als uri wie folgt aufzurufen:Apache Camel: Verbrauchen von Bean
from("bean:MyBeanCall?method=beancallMethod(String1)")
Die Consumer dynamisch sein muss und gibt die URI als String aus der Bohne. Innerhalb der Bean möchte ich auch die @Header Annotation verwenden, um einige Header-Eigenschaften hinzuzufügen.
Die Arbeits Bohne Aufruf sieht wie folgt aus:
.bean(MyBeanCall.class,"beancall('String1')");
Die Bohne sieht wie folgt aus:
public static void beancall(String test, @Header("theHeader") String header, @Header("JMSCorrelationID") String correlationID){...}
Aber ich brauche den Anruf innerhalb der from()
den Verbraucher mit dem String1 zu erzeugen und den Sockel .
Hallo, erstens vielen Dank für Ihre Antwort. Ich habe herausgefunden, dass ich eine Instanz eines Objekts in der from URI verwenden kann. Zum Beispiel: von (instance.method ("String1")) Aber in diesem Fall habe ich keine Möglichkeit, die Header zu übergeben. Ich brauche auch das Kamelid und den Routeid. Es muss eine Lösung geben. Meine Anforderungen: Erstellen Sie den Consumer (für ein Thema) in einer Bean und den Consumer-String an die von URI. – sitnam
Aber warum injizierst du nicht stattdessen die Bean als Eigenschaft von deiner blueprint.xml? Verwenden Sie dann die Annotation @BeanInject to String variable. Dann tun Sie einfach von (Variable) wo Variable Ihren URI enthält. –