apache brooklyn Web インターフェイスで、システム マネージャー向けのコンテンツを表示したいと考えています。コンテンツが長すぎて、単純なセンサー値として提供できません。
私たちのアイデアは、タスクを作成し、コンテンツをタスクの出力ストリームに書き込み、次のように REST ベースの URL をマネージャーに提供することでした: /v1/activities/{task}/stream/stdout (もちろん、リンクはマスクされています)素敵なテキスト付き)
ストリームとタスクは次のように作成されます。
LOG.info("{} Creating Activity for ClusterReport Feed", this);
activity = Tasks.builder().
displayName("clusterReportFeed").
description("Output for the Cluster Report Feed").
body(new Runnable() {
@Override
public void run() {
//DO NOTHING
}
}).
parallel(true).
build();
LOG.info("{} Task Created with Id: " + activity.getId(), this);
Entities.submit(server, activity).getUnchecked();
タスクが作成されたようで、相互作用は完全に正常に機能します。ただし、準備された URL を使用してブラウザーからタスク出力ストリームにアクセスしたい場合、タスクが存在しないというエラーが表示されます。
私たちの考えは、私たちが正しい管理/実行コンテキストにいないということです。Web ページは、エンティティとそのセンサーとは別のコンテキストで実行されています。Web コンソールのコンテキストでも表示されるように、タスクを配置するにはどうすればよいでしょうか。
コンテンツをファイルに書き込んで、Jetty (ブルックリン Web サーバー) 経由でダウンロードできるようにすることはできますか? それははるかに簡単な方法です。