Я использую Camel 2.19.2 в приложении Spring Boot 1.5.8. Если я хочу, например, чтобы несколько моих маршрутов были «осведомлены о статусе», как я мог бы добиться этого? Под «осведомленностью о состоянии» я подразумеваю, что маршрут будет запущен, уведомит компонент о том, что рабочий процесс начался, затем он будет выполнять логику, относящуюся к маршруту, и, когда она будет завершена, он уведомит компонент о завершении рабочего процесса. Я хочу, чтобы это происходило автоматически, если это возможно, и без необходимости вызывать определенную логику в каждом из построителей маршрутов, для которой я хочу использовать эту возможность.
Вот пример кода, который я имею в виду:
public class FooRouteBuilder extends StatusAwareRouteBuilder {
@Override
public void configure() {
// Here I want to have this route know how to notify something
// that this processing has begun, but I do not want to have
// to explicitly call a processor to make it happen, but it
// should know what to do by virtue of extending a custom
// route builder, if appropriate, or by some other/better
// mechanism
// Now conduct any route-specific logic
from("vm:myAction")
.process("myProcessor");
// Now handle the status notification that this is finished...
// Here I want to have this route know how to notify something
// that this processing has finished
}
}
Концептуально, это почти как АОП, поэтому я хотел бы иметь возможность определить это поведение в одном месте и включить его в некоторое количество маршрутов, которые должны использовать это поведение. Есть ли способ, которым я могу это сделать? Я видел, что есть совет с тестированием, но он мне нужен для нормальной работы. Заранее спасибо.