0

そのような方法で構成できるルールエンジンはありますか:

  • フィルターに一致するターゲットを登録します (targerID=com.acme.ace.test.target.*)
  • フィルターに一致するターゲットにディストリビューション 1 をインストールします (targerID=com.acme.ace.test.target.local-*)
  • フィルターに一致するターゲットにディストリビューション 2 および 3 をインストールします (targerID=com.acme.ace.test.target.remote-*)
  • 等々
4

1 に答える 1

2

Apache ACE の関連付けにより、フィルター式を使用して、アーティファクト、機能、ディストリビューション、およびターゲット間の多対多の関係を作成できます。

Web UI を使用する場合は、任意の列間でドラッグ アンド ドロップするたびに関連付けを作成します。内部的には、ドラッグ アンド ドロップに関係するエンティティと完全に一致するフィルター条件を使用して、常に 1 対 1 の関係が作成されます。

ただし、GoGo シェルまたは REST API を使い始めるとすぐに、より強力な関連付けを作成できます。それぞれに左側と右側があり、それぞれにフィルター条件を指定できます。これらのフィルターは、あなたが言及した例とほぼ同じです。

例 (Eclipse から server-allinone.bndrun を実行) とシェル タイプ:

w = (cw)

作業するワークスペースを作成するには:

$w cd dist-1
$w ct target-1
$w ct target-2

ディストリビューションと 2 つのターゲットを作成します。次に、関連付けを作成します。

$w cd2t "(name=dist-1)" "(id=target-*)" 1 n

これにより、最初の式に一致する分布と 2 番目の式に一致するターゲットとの間の関連付けが作成されます。左側は 1 つのエンティティのみに一致し、右側は 'n' (複数) に一致します。ついに:

$w commit

ワークスペースをコミットします。ここで Web UI にログインし、最新バージョンを取得して「dist-1」を選択すると、両方のターゲットに関連付けられていることがわかります。同じく「target-」で始まる 3 番目のターゲットを追加してみて、それも自動的に関連付けられることを確認してください。別の名前の 4 番目のターゲットを追加して、このターゲットが一致しないことを確認します。

OSGi のようなフィルター条件もより複雑になる可能性があるため、属性 (必要に応じてユーザー定義も) を使用して、より複雑な関連付けを作成することもできます。

于 2014-02-17T13:42:12.267 に答える