248.4. 例子
248.4.1. 列出所有应用程序
// sending route from("direct:apps") .to("openshift:myClient?username=foo&password=secret&operation=list"); .to("log:apps");
在这种情况下,有关所有应用程序的信息都会返回为 pojo。如果需要 json 响应,则设置 mode=json。
248.4.2. 停止应用程序
// stopping the foobar application from("direct:control") .to("openshift:myClient?username=foo&password=secret&operation=stop&application=foobar");
在上例中,我们停止名为 foobar 的应用程序。
轮询 gear 状态更改
消费者用于轮询齿轮中的状态更改。例如,当添加/删除/或其生命周期被改变时,如启动或停止等。
// trigger when state changes on our gears from("openshift:myClient?username=foo&password=secret&delay=30s") .log("Event ${header.CamelOpenShiftEventType} on application ${body.name} changed state to ${header.CamelOpenShiftEventNewState}");
当消费者发出 Exchange 时,正文包含 com.openshift.client.IApplication
作为消息正文。以下标头也包含在内。
标头 | 可以是 null | 描述 |
---|---|---|
CamelOpenShiftEventType | 否 | 事件的类型可以是: add、delete 或 changed。 |
CamelOpenShiftEventOldState | 是 | 旧状态,当事件类型改变时。 |
CamelOpenShiftEventNewState | 否 | 任何事件类型的新状态 |