66.8. Kubernetes イベントコンシューマーの例
fromF("kubernetes-events://%s?oauthToken=%s", host, authToken)
.setHeader(KubernetesConstants.KUBERNETES_NAMESPACE_NAME, constant("default"))
.setHeader(KubernetesConstants.KUBERNETES_EVENT_NAME, constant("test"))
.process(new KubernertesProcessor()).to("mock:result");
public class KubernertesProcessor implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
Message in = exchange.getIn();
Event cm = exchange.getIn().getBody(Event.class);
log.info("Got event with event name: " + cm.getMetadata().getName() + " and action " + in.getHeader(KubernetesConstants.KUBERNETES_EVENT_ACTION));
}
}
このコンシューマーは、"test" イベントの "default" 名前空間で受信したイベントごとにメッセージを返します。また、メッセージヘッダー CamelKubernetesEventAction にアクション (io.fabric8.kubernetes.client.Watcher.Action) を設定し、メッセージヘッダー CamelKubernetesEventTimestamp にタイムスタンプ (long) を設定します。