Şimdi her biri bir dize üreten bir yöntemim var. Yöntemi uri olarak kaydetmek ve bir rota için girdi olarak kullanılacak bir değişim yöntemi üretmek istiyorum.Deve yolunda üretici olarak bir yöntem kullanın
public class SampleClass{
@Produce(uri = "direct:consumerMethod")
ProducerTemplate producer;
public sampleMethod(Object obj){
producer.sendBody(object);
}
}
yol aşağıdaki şekilde tanımlanır:
@Override
public void configure() {
from("direct:consumerMethod").process(new GenerateD());
}
Ancak yol doesnt çağrı sınıfı oluşturulan
yöntem
SampleClass sc = new SampleClass();
sc.sampleMethod("Hello");
Örneğin, farklı bir sınıfın çağrı sampleMethod kullanarak üretiyorum. Bu uygun değil mi yoksa yanlış bir şey mi yapıyorum? Eğer sampleMethod(Object)
aşağıdaki alanı ekleyin sahip olduğunuz sınıfında
".process (...)" parametresinin bir "İşlemci" olması veya bunu devralması/uygulamanız gerektiğine inanıyorum - İşlemcinizin içinde, yönteminizi çağırabilirsiniz. Örnek kodumun yakınında değilim ama bu sizi doğru yönde dürtüyor. – ochi
Hangi hatayı alıyorsunuz? – Strelok
Ben producer.sendBody() etrafında bir deneyin yakalamak ve üretici null bulundu. Yani bu doğrudan anlamına geliyor: consumerMethod başlatılmamış mı? –