Tôi có phương pháp mà bây giờ và sau đó tạo ra một chuỗi. Tôi muốn đăng ký phương pháp như uri và tạo ra một phương thức trao đổi sẽ được sử dụng làm đầu vào cho một tuyến đường.Sử dụng phương pháp làm nhà sản xuất trong tuyến đường lạc đà
Phương pháp này là lời kêu gọi của một lớp khác nhau
SampleClass sc = new SampleClass();
sc.sampleMethod("Hello");
Ví dụ:
public class SampleClass{
@Produce(uri = "direct:consumerMethod")
ProducerTemplate producer;
public sampleMethod(Object obj){
producer.sendBody(object);
}
}
Các tuyến đường được xác định như sau:
@Override
public void configure() {
from("direct:consumerMethod").process(new GenerateD());
}
Nhưng các cuộc gọi đường doesnt tạo lớp khi tôi sản xuất bằng cách sử dụng sampleMethod. Điều này không khả thi hay tôi đang làm điều gì sai?
Tôi tin rằng tham số cho '.process (...)' cần phải là một 'Processor' hoặc kế thừa/thực hiện nó - Bên trong bộ xử lý của bạn, sau đó bạn có thể gọi phương thức của bạn. Tôi là hư không gần mã mẫu của tôi nhưng điều này có thể thúc đẩy bạn đi đúng hướng. – ochi
Bạn gặp phải lỗi gì? – Strelok
Tôi đặt một thử bắt xung quanh producer.sendBody() và tìm thấy nhà sản xuất là null. Vì vậy, điều này có nghĩa là trực tiếp: consumerMethod không được bắt đầu? –